iOS中的设计模式作为装饰模式

时间:2014-05-19 14:30:16

标签: ios objective-c design-patterns decorator

我对iOS中的设计模式有疑问。

我有一个带有xib文件的UIView。我们可以将此视图视为视图模板。

现在我们可以考虑几个视图(例如,子类)来指定视图模板的行为(不同的方法,动画等)。

在我的情况下,有什么可能没事的吗?一些设计模式?例如,Decorator设计模式?

2 个答案:

答案 0 :(得分:8)

装饰器设计模式

Decorator设计模式动态地将附加职责附加到对象。装饰器为子类化提供了灵活的替代扩展功能。与子类化一样,修饰器模式的调整允许您在不修改现有代码的情况下合并新行为。装饰器包装类的对象,它们的行为扩展。它们实现与它们包装的对象相同的接口,并在将任务委派给包装对象之前或之后添加它们自己的行为。 Decorator模式表达了这样的设计原则,即类应该对扩展开放,但不能修改。

  

有几种与多态相关的模式可以在Swift中使用,但是你经常会看到的两个关键模式是Decorator和Adapter模式。这些是分别使用语言关键字扩展和协议实现的。

     

Swift中Decorator模式的主要示例是创建扩展时。在Objective-C中,有类似的类别机制。

iOS Design Pattern

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

intro-object-oriented-design-swift-part-2

答案 1 :(得分:0)

装饰模式很适合这个。 您可以装饰UIView以使用滚动指示器并将其装饰到文本视图等等...... 通过子类化扩展视​​图。

在您的情况下,您可以在XIB中标记View(属性检查器)的Custom Class类型,以指向具有此行为的子类。