![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
某工程师$
Java Python Go JS .etc
展开
-
《研磨设计模式》读书笔记之:命令模式、迭代器模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 命令模式(Commad): 几点解释: 命令模式中分为三个角色:Invoker、Commad、Receiver。客户端调用Invoker,Invoker持有Commad对象并转调其对应方法,而Commad持有Receiver对象并转调其对应方法。因此这三层...原创 2019-07-29 12:21:04 · 234 阅读 · 0 评论 -
《研磨设计模式》读书笔记之:桥接模式、访问者模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 桥接模式(Bridge): 几点解释: 桥接模式的本质在于 分离抽象与实现。 Java中的接口的作用在于 封装隔离,和桥接模式不谋而合。 我们在Java中面向接口编程,所以 Java中无处不桥接。 访问者模式(Visitor): 几点解释: 访问者...原创 2019-07-31 17:35:14 · 349 阅读 · 0 评论 -
《研磨设计模式》读书笔记之:装饰器模式、职责链模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 装饰器模式(Decorator): 几点解释: 装饰器模式的本质在于,透明的给对象增加新的功能,并且这些功能可以灵活的组合和增减。 如果没有了那个抽象类,其实就和代理模式的结构是一致的了,二者的区别已经在前面代理模式说过了。 装饰对象会持有一个实际的对...原创 2019-07-31 16:56:14 · 307 阅读 · 0 评论 -
《研磨设计模式》读书笔记之:备忘录模式、享元模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 备忘录模式(Memento): 几点解释: 备忘录模式的目的在于在不破坏对象封装性的前提下,保存对象的部分或者全部的数据到对象之外,用于在需要的时候恢复对象到某一个备忘录的状态。 实现方式为 创建一个私有的内部类用于保存对象的数据,这个内部类会实现一个 ...原创 2019-07-31 15:55:43 · 345 阅读 · 0 评论 -
《研磨设计模式》读书笔记之:生成器模式、原型模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 生成器模式(Builder): 几点解释: 标准的构建器分为 Director和Builder 两个部分。Director中封装了相对固定的构建步骤,而变化的部分封装到具体的 Builder对象中。Director在执行具体的构建步骤时,会在需要的时候从...原创 2019-07-26 15:12:10 · 326 阅读 · 1 评论 -
《研磨设计模式》读书笔记之:工厂方法模式、抽象工厂模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 工厂方法模式(FactoryMethod): 几点解释: 简单工厂是由客户端调用静态方法得到具体实现的一个引用;工厂方法模式中的工厂方法一般不提供给客户端使用,这也是图中声明为 protect 的原因,由具体的子类来实现工厂方法,返回一个具体对象的引用,这...原创 2019-07-26 11:01:52 · 250 阅读 · 0 评论 -
《研磨设计模式》读书笔记之:适配器模式、单例模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 适配器模式(Adaptor): 几点解释: 本质:功能已经实现了,但是接口不匹配,中间加一层适配器类,通过转调的方式,将已有的功能匹配到特定的接口上。 客户端使用的是 接口A, 功能A,同时已经存在了功能B,只是接口和客户端使用的 A接口不一致。此时,不...原创 2019-07-25 16:30:15 · 254 阅读 · 0 评论 -
《研磨设计模式》读书笔记之:简单工厂、外观模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 简单工厂: 几点解释: 客户端通过调用 Factory.createAImpl() 方法来创建A的实例 工厂一般只需要一个,不需要有实例,所以将构造方法设为私有,不允许创建实例 Factory.createAImpl() 可以带参数,通过传入不同的参...原创 2019-07-25 13:22:36 · 262 阅读 · 0 评论 -
《研磨设计模式》读书笔记之:策略模式、状态模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 策略模式(Strategy): 几点解释: 多个if、elif 相连的代码我们实际开发中肯定经常遇到,如果 if、elif的方法体都很大,那就可以考虑使用策略模式,抽象出统一的接口,并将方法体的逻辑剥离出来封装为接口的不同实现类。这样做扩展性得到了提高。 ...原创 2019-07-30 11:24:09 · 248 阅读 · 0 评论 -
《研磨设计模式》读书笔记之:组合模式、模板方法模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 组合模式(Composite): 几点解释: 树形结构中有叶子节点,组合节点(包含其他节点),组合模式通过抽象出一个高层的父类,来对外提供统一的外观。这样,客户端就可以使用同一个引用类型来操作不同的节点对象。抽象父类中集合了所有类型的子类节点所需要的功能,...原创 2019-07-29 16:19:10 · 280 阅读 · 0 评论 -
《研磨设计模式》读书笔记之:代理模式、观察者模式
前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。 代理模式(Proxy): 几点解释: 代理类实现了和原始类相同的接口,并且持有原始类的一个实例。客户端使用的是代理类的实例,代理类再向原始类实例发起相应的调用。这样就可以在调用原始类实例的方法前后做一些控制。 本质:控制对象的访问。也可以增添一些功能。 ...原创 2019-07-28 17:50:13 · 340 阅读 · 0 评论