蜗牛爱课 -- iOS 设计模式之模板模式
2024-10-13 10:31:10
1 前言
模板方法模式是面向对象软件设计中一种非常简单的设计模式。其基本思想是在抽象类的一个方法定义“标准”算法。在这个方法中调用的基本操作由子类重载予以实现。这个方法成为“模板”。因为方法定义的算法缺少一些特有的操作。
2 详述
2.1 简述
定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使子类可以重定义算法的某些特定步骤而不改变该算法的结构。思维导图如下:
2.2 何时使用
(1)需要一次性实现算法的不变部分,并将可变得行为留给子类来实现。
(2)子类的共同行为应该被提取出来放到公共类中,以避免代码重复。现有代码的差别应该被分离为新的操作。然后用一个调用这些新操作的模板方法来替换这些不同的代码。
(3)需要控制子类的扩展。可以定义一个在特定点调用“钩子”(hook)操作的模板方法。子类可以通过钩子操作的实现在这些点扩展功能。
2.3 模板方法调用5种类型的操作
(1)对具体类或客户端类的具体操作;
(2)对抽象类的具体操作;
(3)抽象操作;
(4)工厂方法;
(5)钩子操作。
版权声明:欢迎转载,请注明出处:蜗牛爱课 • 移动互联网
最新文章
- Android深度探索HAL与驱动开发 第三章 Git入门
- JavaScript 语句 while
- 页面table的每行都有一个<;input type=&#39;button&#39; />;,如何实现点击按钮在按钮下方弹出一个div,点击空白消失
- java -version
- 【MongoDB】开启认证权限
- SQL server 2012序列号 注册码 z
- 多线程归并排序(摘自githhub)
- VisionPro笔记:色彩区分
- 自制操作系统Antz(4)——进入保护模式 (下) 实现内核并从硬盘载入
- 【模板】Splay
- [Visual Studio] 未能完成操作 不支持此接口
- Intellij IDEA2017.3永久激活方法
- 解题(LevenshteinInstance--Levenshtein距离)
- HDU3439 Sequence
- iOS debug release
- iOS 时区获取问题
- Android中由Handler和内部类引起的内存泄漏
- PHP进程之信号捕捉中的declare(ticks=1)
- (转)Linux企业运维人员常用的150个命令分享
- redis学习笔记——命令执行流程