--简单工厂模式
写一个只有加 减 乘 除 功能的计算器功能,一个计算的类,4个具体计算的类继承这个类,4个类实现的功能分别是加,减,乘,除。 再建一个 工厂类 来实例化具体计算某个计算类
--策略模式
--单一职责: 软件设计真正要做额许多内容,就是发现职责并把那些职责相互分离,其实要去判断是否应该分离出来类来 也不难,如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责,那么就该考虑类的职责分离。
--开发-封闭原则: 是说软件实体(类,模块,函数等)应该是可以扩展,但是不可以修改。这个原则两个特征:对应扩展是开发的,对应修改是封闭的。即 面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。这就是开发-封闭原则的精神所在
--依赖倒转原则:
高层模块不应噶依赖底层模块,两个都应该依赖抽象。
抽象不应该依赖细节,细节应该依赖抽象。
针对接口编程,而不应该针对实现编程。无论主板,cpu,内存,硬盘都是针对接口设计的,如果针对实现来设计,内存就要对应具体的某个品牌的主板,那就会出现换内存需要把主板也换了的尴尬。
---里氏代换 :子类必须能够替换掉他们的父类型
--装饰模式:
--代理模式:
为其他对象提供一种代理以控制对这个对象的访问
--工厂方法模式: 计算工厂----各种工厂类
--原型模式: 用原型模式实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
---模板方法模式: 考试试卷 ,学生作答
---外观模式 :炒股票or 买基金 买基金!是外观
---建造者模式
---抽象工厂模式
-----状态模式
----适配器模式
----备忘录模式
----组合模式
----迭代模式
----单例模式
---桥接模式
----合成/聚合 复用原则
---命令模式 command
----职责链模式 china of responsibility
---中介者模式 mediator
----享元模式 flyweight
---解释器模式 interpreter
----访问者模式 vistor