Saturday, November 7, 2026
HomeiOS DevelopmentSwift prototype design sample - The.Swift.Dev.

Swift prototype design sample – The.Swift.Dev.

[ad_1]

This can be a creational design sample, it’s helpful when you’ve got a really fundamental configuration for an object and you would like to present (clone) these predefined values to a different one. Principally you make clones from a prototype objects. 😊😊😊

This method has some advantages, one is for instance that you do not have to subclass, however you may configure clones individually. This additionally means that you could take away a bunch of boilerplate (configuration) code if you will use prototypes. 🤔

class Paragraph {

    var font: UIFont
    var colour: UIColor
    var textual content: String

    init(font: UIFont = UIFont.systemFont(ofSize: 12),
         colour: UIColor = .darkText,
         textual content: String = "") {

        self.font = font
        self.colour = colour
        self.textual content = textual content
    }

    func clone() -> Paragraph {
        return Paragraph(font: self.font, colour: self.colour, textual content: self.textual content)
    }
}

let base = Paragraph()

let title = base.clone()
title.font = UIFont.systemFont(ofSize: 18)
title.textual content = "That is the title"

let first = base.clone()
first.textual content = "That is the primary paragraph"

let second = base.clone()
second.textual content = "That is the second paragraph"

As you may see the implementation is only a few strains of code. You solely want a default initializer and a clone methodology. Every thing shall be pre-configured for the prototype object within the init methodology and you may make your clones utilizing the clone methodology, however that is fairly apparent at this level… 🤐

Let’s check out yet one more instance:

class Paragraph {

    var font: UIFont
    var colour: UIColor
    var textual content: String

    init(font: UIFont = UIFont.systemFont(ofSize: 12),
         colour: UIColor = .darkText,
         textual content: String = "") {

        self.font = font
        self.colour = colour
        self.textual content = textual content
    }

    func clone() -> Paragraph {
        return Paragraph(font: self.font, colour: self.colour, textual content: self.textual content)
    }
}

let base = Paragraph()

let title = base.clone()
title.font = UIFont.systemFont(ofSize: 18)
title.textual content = "That is the title"

let first = base.clone()
first.textual content = "That is the primary paragraph"

let second = base.clone()
second.textual content = "That is the second paragraph"

The prototype design sample can be useful if you’re planning to have snapshots of a given state. For instance in a drawing app, you may have a form class as a proto, you can begin including paths to it, and sooner or later at time you may create a snapshot from it. You possibly can proceed to work on the brand new object, however this offers you the flexibility to return to a saved state at any level of time sooner or later. 🎉

That is it concerning the prototype design sample in Swift, in a nuthsell. 🐿

[ad_2]

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments