![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
dingdingko
编程者就像习剑者有三层境界:
第一层:手中有剑,熟能生巧;
第二层:手中无剑,触类旁通;
第三层:心中有剑,此时无声胜有声!
展开
-
观察者设计模式 C++版本
一个对象的形态是由另一个对象决定的!这样的模式就可以考虑使用观察者设计模式!比如:我们穿衣服的多少是由温度来决定的!年亲人有以下行为:10度以下我们要穿棉衣11-20度以下我们要穿长袖21-30度以下我们要穿短袖31度以上我们不穿衣服 老人有以下行为:15度以下我们要穿棉衣16-25度以下我们要穿长袖26-35度以下我们要穿短袖36度以上要小心会原创 2009-07-02 11:47:00 · 575 阅读 · 0 评论 -
代理模式
代理模式(Proxy)定义:为其他对象提供一种代理以控制对这个对象的访问 结构:由三部分组成1.RealSubject(真实对象): 真正会调用到的对象 2.Proxy(代理对象): 代理真实对象的地方3.Subject(共同点): 代理对象和真实对象的共同点 使用场合:1.远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址原创 2009-10-03 01:21:00 · 433 阅读 · 0 评论 -
开放-封闭原则
开放-封闭原则:软件实体(类、模块、函数)应该可以扩展,但是不可以修改 特征:对于扩展是开放的,对于更改是封闭的 如何实现:先构造抽象来隔离变化 使用目的:开放-封闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中呈现出频繁变化的那些部分抽象,然而,对于应用程序中的每个部分都刻原创 2009-10-01 00:25:00 · 470 阅读 · 0 评论 -
依赖倒转原则
依赖倒转原则:A.高层模块不应该依赖低层模块。两个都应该依赖抽象。B.抽象不应该依赖细节,细节应该依赖抽象特征:针对接口编程,不要对实现编程如何实现:里氏代换原则:子类型必须能够替换掉它们的父类型。使用目的:依赖倒转其实可以说是面向对象设计的标志,用哪种语言来编写程序不重要,如果编写时考虑的都是如何针对抽象编程而不是针对细节编程,即程序中所有的依赖关系都是终止于抽象类原创 2009-10-02 00:57:00 · 400 阅读 · 0 评论 -
迪米特法则
迪米特法则原则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用.如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用. 特征:强调了类之间的松耦合原创 2009-10-02 01:06:00 · 388 阅读 · 0 评论 -
建造者模式
建造者模式(Builder):定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 结构:由四部分组成:1.Director(指挥者): 创建对象的流程所在2.Builder(抽象接口): 创建对象要实现的细节,流程依赖着细节3.ConcreteBuilder(具体构建对象): 创建对象的具体细节实现4.Product(具体产品的显示): 创建对象原创 2009-10-04 23:44:00 · 532 阅读 · 0 评论