设计模式
文章平均质量分 72
了解优秀软件设计的演变过程
Joy-鬼魅
这个作者很懒,什么都没留下…
展开
-
第7章 代理模式
送礼物模型:代理、做嫁衣(实际的实现类)、外部对象类(或客户端应用代码)/*第一版:没有代理的代码外部对象类(mm)与实际的实现类(做嫁衣)直接交互*///被追求者类原创 2021-09-02 10:33:42 · 68 阅读 · 0 评论 -
第6章 装饰模式
把所需的功能按正确的顺序串联起来进行控制。与建造者模式对比:建造者模式是在内部组装完毕,要求建造的过程必须是稳定的;装饰模式建造过程是不稳定的,把所需的功能按正确的顺序串联起来进行控制。概念:装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。/*Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定义了一个具体对象,也可以给这个对象添加一些职责(属于它自己地职责)。Decorato原创 2021-08-31 18:23:12 · 68 阅读 · 0 评论 -
第5章 设计原则—依赖倒转原则
PC电脑里的易拔插——强内聚,松耦合。依赖倒转原则(依赖倒置原则):抽象不应该依赖细节,细节应该依赖于抽象(针对接口编程,通过抽象的接口交互,抽象出顶层的接口叫抽象不依赖于细节;一个函数的具体实现如果用到了其他接口的功能只需要调用其他功能模块的接口即可,这叫细节依赖于抽象)。针对接口编程,不要对实现编程。依赖倒转原则:A.高层模块不应该依赖底层模块。两个都应该依赖抽象。B.抽象不应该依赖细节。细节应该以来抽象。为什么叫倒转呢?面向过程的开发时,为了使得常用代码可以复用,一般都会把这些常用代码写原创 2021-08-31 15:22:23 · 104 阅读 · 0 评论 -
第4章 设计原则—开放-封闭原则
在软件设计模式中,这种不能修改,但可以扩展的思想也是一种设计原则,开放-封闭原则(The Open-Closed Principle,简称OCP)或叫开-闭原则。概念:开放-封闭原则,是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。两个特征:一个是对于扩展是开放的(Open for extension),另一个是对于更改是封闭的(Closed for modification)。我们在做任何系统的时候,都不要指望系统一开始时需求确定,就再也不会变化,这是不现实也不科学的想法,而既然需求原创 2021-08-31 15:06:33 · 448 阅读 · 0 评论 -
第3章 设计原则—单一职责原则
3.4 单一职责原则概念:就一个类而言,应该仅有一个引起它变化的原因。我们在做编程的时候,很自然地就会给一个类加各种各样地功能,比如一个窗口应用程序,一般都会生成一个xxxDialog的类,于是我们就把各种各样的代码,像某种业务的业务算法,像数据库访问的SQL语句等都写在这个类当中。这就意味着,无论任何需求要来或者变化,你都需要更改这个窗体类,这其实很糟糕,维护很麻烦(因为这一个类(xxxDialog类)功能点太多,职责太多),复用不可能(如果只想用业务算法或者SQL部分都不可能,因为它们都在一个类中,原创 2021-08-31 14:54:34 · 102 阅读 · 0 评论 -
第2章 策略模式
2.3 简单工厂实现面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。打一折和打九折只是形式的不同,抽象分析出来,所有的打折算法都是一样的,所以打折算法应该是一个类。...原创 2021-08-26 18:43:46 · 121 阅读 · 0 评论 -
第1章 简单工厂模式
1.4 面向对象编程int main(){ double _numberA,_numberB,result; char operate; scanf("输入数字A"); scanf("输入数字B"); scanf("输入运算符"); if(operate=='+'){ result = _numberA + _numberB; } if(operate=='-'){ result = _numberA - _numberB; } ... return 1;}碰到问原创 2021-08-25 18:24:17 · 167 阅读 · 1 评论