模板方法与策略模式在开发中的应用
1. 模板方法模式
模板方法模式在框架设计中十分常见,它是代码复用的基础技术。该模式允许框架设计者将算法中特定于应用程序的元素留给应用程序处理,是提取框架类中常见行为的有效手段。这种方法有助于提高可扩展性和可复用性,同时保持不同类之间的松散耦合。
在Cocoa Touch框架中,也采用了模板方法模式,虽然不像委托模式那么普遍,但仍能在框架的各个地方找到相关的框架类。下面介绍两个常见的模板方法示例。
1.1 UIView类中的自定义绘图
自iOS 2.0起,UIView类中有一个方法允许应用程序通过重写它来执行自定义绘图:
- (void)drawRect:(CGRect)rect
该方法的默认实现为空。如果UIView的子类需要绘制自己的视图,则可以重写此方法,因此它是一个钩子方法。
当需要更改屏幕上的视图时,此方法将被调用。框架会处理所有底层的繁琐工作以实现这一功能。UIView处理绘图过程的一部分就是调用 drawRect: 方法。如果该方法中有代码,也会一并执行。子类可以使用Quartz 2D函数 UIGraphicsGetCurrentContext 来获取框架中任何可用2D元素的当前图形上下文。
客户端应用程序还可以通过调用UIView的方法手动激活绘图过程:
- (void)setNeedsDisplay
<
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



