我对iOS中的设计模式有疑问。
我有一个带有xib文件的UIView。我们可以将此视图视为视图模板。
现在我们可以考虑几个视图(例如,子类)来指定视图模板的行为(不同的方法,动画等)。
在我的情况下,有什么可能没事的吗?一些设计模式?例如,Decorator设计模式?
答案 0 :(得分:8)
Decorator设计模式动态地将附加职责附加到对象。装饰器为子类化提供了灵活的替代扩展功能。与子类化一样,修饰器模式的调整允许您在不修改现有代码的情况下合并新行为。装饰器包装类的对象,它们的行为扩展。它们实现与它们包装的对象相同的接口,并在将任务委派给包装对象之前或之后添加它们自己的行为。 Decorator模式表达了这样的设计原则,即类应该对扩展开放,但不能修改。
有几种与多态相关的模式可以在Swift中使用,但是你经常会看到的两个关键模式是Decorator和Adapter模式。这些是分别使用语言关键字扩展和协议实现的。
Swift中Decorator模式的主要示例是创建扩展时。在Objective-C中,有类似的类别机制。
http://en.wikipedia.org/wiki/Decorator_pattern
http://zubairraihan.blogspot.in/2013/02/decorator-design-pattern-in-objective-c.html
http://techrantnz.blogspot.in/2011/08/decorator-builder-design-pattern-in.html
答案 1 :(得分:0)
装饰模式很适合这个。 您可以装饰UIView以使用滚动指示器并将其装饰到文本视图等等...... 通过子类化扩展视图。
在您的情况下,您可以在XIB中标记View(属性检查器)的Custom Class类型,以指向具有此行为的子类。