设计模式
又乖又怂
岁月留痕,只及肌肤。
展开
-
设计模式之建造者模式
什么是建造者模式建造者模式,或者说是构建着模式,是一种创建型模式。建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。(建造者模式就是如何一步步构建包含多个组件的对象,相同的创建过程可以创建不同的产品,适用于流程固定但顺序不一定固定的对象,比如做一盘菜,有人喜欢先放盐,有人喜欢后放盐,都没关系,但放盐这个过程是一定要有的)建造者模式使用场景一般创建对象我们最常用的方式是直接使用new调用对象的构造函数。但是如果创建的是一个参数较多的复杂对象呢?如果通过构造函数直接ne翻译 2020-07-05 23:37:06 · 276 阅读 · 1 评论 -
设计模式之抽象工厂方法模式
什么是抽象工厂方法模式属于创建型模型,抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口无须指定它们具体的类。抽象工厂方法模式使用场景抽象工厂方法模式强调一系列相关的产品对象(属于同一产品族)一起使用时创建对象需要大量重复的代码。抽象工厂方法模式的使用场景比较特殊,所以没有简单工厂方法和工厂方法模式常用。工厂方法模式创建的对象由一个纬度决定,抽象工厂方法模式创建的对象不止由一个纬度决定。抽象工厂方法模式的纬度可以分为产品族和产品等级。工厂方法针对的是产品等级结构,抽象工厂模式针对的是产品族原创 2020-06-21 20:12:40 · 240 阅读 · 0 评论 -
设计模式之工厂方法模式
什么是工厂方法模式属于创建型模式,又称多态性工厂模式。在工厂方法模式中,核心的工厂类不再负责所有的实例创建,而是将具体的创建工作交给子类工厂去做,核心工厂类成为一个抽象工厂角色,仅定义接口。工厂方法模式使用场景创建对象需要大量重复的代码客户端(应用层)不依赖于产品类实例如何被创建、被实现等细节工厂方法模式示例还是通过简单工厂方法模式示例场景说明一下工厂方法模式的写法。要求:根据不同的请求类型(read、write、delete、execute)选择不同的helper帮助构建不同的请求对象。工原创 2020-06-14 20:05:31 · 151 阅读 · 0 评论 -
设计模式之简单工厂模式
什么是简单工厂模式工厂模式属于创建型模式,一般情况下,工厂模式可以分为简单工厂模式、工厂方法模式和抽象工厂模式,不过,在GoF 的《设计模式》中,简单工厂模式属于工厂方法模式的一种特例,不属于23种模式之内。但平时开始中,简单工厂模式用的场景还是挺多的。简单工厂模式就是由一个工厂类根据参数创建指定对象,客户端不关心对象创建过程。简单工厂模式使用场景使用于工厂类创建的对象比较少的场景。简单工厂模式中工厂类有多处if分支判断语句,虽然不太符合开闭原则,同时工厂类集中了所有实例对象的创建逻辑,违反单一职原创 2020-06-07 22:49:58 · 111 阅读 · 0 评论 -
设计模式之单例模式
为什么要学习设计模式作为一个程序员,有了扎实的基础知识,才能探寻更深的技术深度,才能潜移默化提高对技术的理解。设计模式也是一种基础知识,而且是一种能够直接变现为编码生产力,提高开发能力的基础知识。设计模式是对软件设计开发中普遍存在的各种问题,所提出的解决方案,可以帮助编写可扩展、可读、可维护的高质量代码,帮助提高复杂代码的设计和开发能力,也可以帮助我们更容易阅读容易理解源码,因为优秀的框架为了保证代码的可扩展性、可维护性等不可避免地会使用到很多设计模式。设计模式分类经典的设计模式有23种,主要分为创原创 2020-05-31 17:18:35 · 568 阅读 · 0 评论 -
设计原则之迪米特原则
迪米特原则 Law of Demeter, LOD迪米特原则定义迪米特原则也叫最小知识原则(The Least Knowledge Principle)。即,每个模块只应该了解那些与它关系密切的模块的有限知识,或者说,每个模块只和自己的朋友”说话“,不和陌生人”说话“。这里的模块可以是微服务、框架、组件、类库、模块、类、甚至是函数,以下的描述主要以“类”作为迪米特原则的描述对象。什么是朋友和陌生人对类来说,出现在成员变量以及方法对输入输出参数中对类是朋友类,出现在方法体内部的类不是朋友类,是陌生人原创 2020-05-17 21:34:56 · 217 阅读 · 0 评论 -
设计原则之依赖倒转原则
之前已经总结过单一职责原则、开闭原则、里氏替换原则和接口隔离原则,这四个原则和这篇的依赖倒转原则合称SOLID原则。依赖倒转原则 Dependency Inversion Principle,DIP依赖倒转原则定义High-level modules shouldn’t depend on low-level modules.Both modules should depend on abs...原创 2020-04-26 23:07:19 · 215 阅读 · 0 评论 -
设计原则之接口隔离原则
接口隔离原则 Interface Segregation Principle , ISP接口隔离原则定义客户端不应该被迫依赖它不需要的接口。其中的“客户端”可以理解为接口的调用者或者使用者。如何理解接口隔离原则理解接口隔离原则的关键,就是理解其中的“接口”二字。在接口隔离原则中,“接口”可以理解为下面三种情况:一组API接口集合当把接口隔离原则的接口理解成一组API接口集合时,可以...原创 2020-04-12 23:14:20 · 190 阅读 · 0 评论 -
设计原则之里式替换原则
这是一篇专栏学习总结里式替换原则,Liskov Substitution Principle,LSP。最早是在1986年由Barbara Liskov 提出。里式替换原则定义子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变,且正确性不被破坏。里式替换原则还有一个更有指导意义的描述,“Design By Contract”,即按照协议设计。也就是说在设计子类的时候...原创 2020-04-05 22:30:32 · 267 阅读 · 0 评论 -
设计原则之开闭原则
这是一篇专栏学习总结。开闭原则,Open Closed Principle,OCP。开闭原则定义一个软件实体如类、模块和方法等,应该对扩展开放,对修改关闭。强调用抽象构建框架,用实现扩展细节。提高软件的可扩展性,可维护性。开闭原则是设计原则中最有用的一条原则,因为扩展性是衡量代码质量的重要标准之一,在23种设计模式中,大部分设计模式都是为了解决代码的可扩展性问题而存在,主要遵从的原...原创 2020-03-29 23:35:59 · 464 阅读 · 0 评论 -
设计原则之单一职责原则
单一职责原则(SRP)Single Responsibility Principle。如何理解单一职责原则A class or module should have a single reponsibility。翻译成中文就是,一个类或者模块只负责一个单独的职责(或功能)。这里原则的应用对象是类和模块,模块可以是一种更抽象的描述,也可以是多个类的集合。对于类来讲,遵循单一职责原则就是不要设计大...原创 2020-03-15 22:20:29 · 224 阅读 · 0 评论