![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
VitowithoutHair
这个作者很懒,什么都没留下…
展开
-
15. 抽象工厂模式
抽象工厂模式(Abstract Factory):提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。原创 2020-05-03 21:43:02 · 123 阅读 · 0 评论 -
14.观察者模式
观察者模式(发布-订阅模式):定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。事件委托:委托就是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。委托可以看作是对函数的抽象,是函数的“类”,委托的实例将代表一个具体的函数...原创 2020-04-28 16:08:18 · 115 阅读 · 0 评论 -
13. 建造者模式
建造者模式(Builder):将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。原创 2020-04-26 13:12:32 · 98 阅读 · 0 评论 -
12. 外观模式
外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。原创 2020-04-26 12:51:02 · 101 阅读 · 0 评论 -
11. 迪米特法则
迪米特法则(LoD)【最少知识原则】:如果两个类不必彼此直接通信,那么这两个类就不应该直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。...原创 2020-04-26 12:35:35 · 110 阅读 · 0 评论 -
10. 模板方法模式
模板方法模式:定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。...原创 2020-04-26 12:23:13 · 110 阅读 · 0 评论 -
9.原型模式
原型模式:(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式类似c++中的拷贝构造函数,但比拷贝构造函数更加灵活,可以通过实现clone函数来自由的从一个基类指针或引用中拷贝派生类的数据。相比直接new,原型模式可以捕获运行状态,同时也节约了一次new的时间。【Base *pb=new Derived();Derived *pd=pb->...原创 2020-04-25 17:14:31 · 101 阅读 · 0 评论 -
8.工厂方法模式
工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。由于简单工厂模式需要在工厂类中判断需要实例化的类,违背了开闭原则。工厂方法模式把这一任务交给了工厂的子类,符合开闭原则。...原创 2020-04-24 15:20:26 · 198 阅读 · 0 评论 -
7.代理模式
代理模式:为其他对象提供一种代理以控制对这个对象的访问。原创 2020-04-23 16:16:05 · 295 阅读 · 0 评论 -
6.装饰模式
装饰模式:动态地给一个对象添加一些额外地职责,就增加功能来说,装饰模式比生成子类更加灵活。decorator类继承了component类,作为装饰类的接口,同时它聚合了component类似递归调用,实现装饰功能。该模式一般用于在不改变已设计好的类的情况下,顺序组合新的功能(开闭原则)。...原创 2020-04-21 14:04:43 · 122 阅读 · 0 评论 -
5.里氏代换原则&依赖倒置原则
里氏代换原则(LSP):子类型必须能够替换掉它们的父类(子类可以看做父类来使用)依赖倒置原则:高层模块不应该依赖于低层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。...原创 2020-04-21 11:17:54 · 167 阅读 · 0 评论 -
4.开放-封闭原则(《大话设计模式》,笔记)
开放-封闭原则(OCP),是指软件实体(类、模块、函数等等)应该可以扩展,但是不可修改,即对于扩展是开放的,对于更改是封闭的。设计人员必须对于他设计的模块应该对哪种变化封闭做出选择,要先猜测最有可能发生的变化种类,然后构造抽象来隔离那些变化。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。...原创 2020-04-20 15:39:14 · 101 阅读 · 0 评论 -
3.单一职责原则(《大话设计模式》,笔记)
单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因,(把不同的业务逻辑分开),这样代码才是易维护、易扩展、易复用的。原创 2020-04-20 15:11:48 · 94 阅读 · 0 评论 -
2.策略模式(《大话设计模式》--程杰,笔记)
策略模式:它定义了算法家族,分别封装起来,让它们直接可以互相替换,此模式让算法的变化,不会影响到使用算法的用户。策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。策略模式的策略抽象类定义了一系列可供重用的算法或行为,继承有助于析取出这些算法中的公共功能。策略模式简化了单...原创 2020-04-20 11:15:12 · 191 阅读 · 0 评论 -
1.简单工厂模式(《大话设计模式》-程杰,笔记)
简单工厂模式:工厂用来根据需求实例化抽象类,(返回一个父类的指针,实现多态),即封装了实例化。原创 2020-04-20 10:54:17 · 156 阅读 · 0 评论