摘要: 介绍 策略模式是一种行为设计模式, 它能让你定义一系列算法, 并将每种算法分别放入独立的类中, 以使算法的对象能够相互替换。 真实世界类比 各种前往机场的出行策略 假如你需要前往机场。 你可以选择乘坐公共汽车、 预约出租车或骑自行车。 这些就是你的出行策略。 你可以根据预算或时间等因素来选择其中一种 阅读全文
posted @ 2020-11-23 17:19 fangyanr 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 介绍 装饰模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 真实世界类比 穿上多件衣服将获得组合性的效果。 穿衣服是使用装饰的一个例子。 觉得冷时, 你可以穿一件毛衣。 如果穿毛衣还觉得冷, 你可以再套上一件夹克。 如果遇到下雨, 你还可以再穿一件雨衣 阅读全文
posted @ 2020-11-23 17:17 fangyanr 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 介绍 代理模式是一种结构型设计模式, 让你能够提供对象的替代品或其占位符。 代理控制着对于原对象的访问, 并允许在将请求提交给对象前后进行一些处理。 真实世界类比 信用卡和现金在支付过程中的用处相同。 信用卡是银行账户的代理, 银行账户则是一大捆现金的代理。 它们都实现了同样的接口, 均可用于进行支 阅读全文
posted @ 2020-11-23 15:23 fangyanr 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 介绍 适配器模式是一种结构型设计模式, 它能使接口不兼容的对象能够相互合作。 真实世界类比 出国旅行前后的旅行箱。 如果你是第一次从美国到欧洲旅行, 那么在给笔记本充电时可能会大吃一惊。 不同国家的电源插头和插座标准不同。 美国插头和德国插座不匹配。 同时提供美国标准插座和欧洲标准插头的电源适配器可 阅读全文
posted @ 2020-11-23 15:10 fangyanr 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 介绍 单例模式是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。 主要解决:一个全局使用的类频繁地创建与销毁。 何时使用:当您想控制实例数目,节省系统资源的时候。 如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。 关键代码:构造函数是私有的 阅读全文
posted @ 2020-11-23 14:30 fangyanr 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 介绍 意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 主要解决:主要解决接口选择的问题。 抽象工厂示例: 我们将创建 Shape 和 Color 接口和实现这些接口的实体类。下一步是创建抽象工厂类 AbstractFactory。接着定义工厂类 ShapeFactory  阅读全文
posted @ 2020-11-23 14:24 fangyanr 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 介绍 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。 调用工厂方法的代码 (通常被称为客户端代码) 无需了解不同子类返回实际对象之间的差别。 客户端将所有产品视为抽象的 运输 。 客户端知道所有运输对象都提供了方法, 但是并不关心其具体实现方式 阅读全文
posted @ 2020-11-23 11:28 fangyanr 阅读(111) 评论(0) 推荐(0) 编辑