大话设计模式-随笔 —一工厂模式 在面向对象的程序设计中,工程通常是一个用来创建其他对象的对象,工厂 模式根据不同的参数来实现不同的分配方案和创建对象。 ——策略模式 策略模式就是用来封装算法的,但是在实践中,我们发现可以用它来封装儿 乎任何类型的规则,只要在分析过程中听到需要在不通时间应用不同的业务规则, 就可以考虑使用策略模式处理这种变化的可能性。 一一单一职责原则 就一个类而言,应该只有一个引起它变化的原因。 一编程时,我们需要在类的职责分离上多思考,做到单一职责,这样的代码 才是真正的易维护,易扩展,灵活多样。 一一开闭原则(OCP) 面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有代码。 -OCP原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术 所声称的具大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员应该仅 对程序中呈现出频繁变化的那些部分做出抽象,然而,对于应用程序中的每个部分 都刻意的进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样重要。 --- 依赖倒置原则 抽象不应该依赖细节,细节应该依赖于抽象。高层模块不应该依赖底层模 块。两个都应该依赖抽象。 一通俗点就是要针对接口编程,不要对实现编程。(电脑组件的例子)----里 氏替换原则 子类型必须能够替换掉他们的父类型。 一只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正 被复用,而子类能够在父类的基础上增加新的行为。 一一装饰模式 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子 类更为灵活。 -一代理模式 为其他对象提供一种代理以控制对这个对象的访问。(例:周某让宋某代其向 郭某求婚。) ----简单工厂模式VS工厂方法模式 工厂模式就是在面向对象程序设计中,工厂是一个用来创建其他对象的对象, 根据不同的参数来实现不同的分配方案和创建对象。 一简单工厂模式的最大有点在于工厂类中包含了必要的逻辑判断,根据客户 端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。 一工厂方法模式实现时,客户端需要决定实例化哪一个工厂来实现运算类,选 择判断的问题还是存在的,也就是说工厂方法把简单工厂的内部逻辑判断移到了客 户端代码来进行。想要加功能,本来是改工厂类的,而现在是改客户端。----原 型模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 本文来源:https://www.wddqw.com/doc/ca17d7edbbf67c1cfad6195f312b3169a551ea53.html