• java学习笔记-设计模式1(简介)


     

    1 简介

      设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

    2 设计原则  

    面向对象有几个原则:

      开闭原则Open Closed PrincipleOCP

      里氏代换原则Liskov Substitution PrincipleLSP

      依赖倒转原则Dependency Inversion PrincipleDIP

      接口隔离原则Interface Segregation PrincipleISP

      合成/聚合复用原则Composite/Aggregate Reuse PrincipleCARP

      最少知道原则Principle of Least KnowledgePLK,也叫迪米特法则)。

    开闭原则具有理想主义的色彩,它是面向对象设计的终极目标。其他几条,则可以看做是开闭原则的实现方法。设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。

    2.1 开闭原则 

      此原则是由Bertrand Meyer提出的。原文是:“Software entities should be open for extension,but closed for modification”。就是说模块应对扩展开放,而对修改关闭。模块应尽量在不修改原(是“原”,指原来的代码)代码的情况下进行扩展。

    2.2 里氏代换原则

      如果调用的是父类的话,那么换成子类也完全可以运行。里氏代换原则是继承复用的一个基础。只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对-原则的补充。实现-原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

    1.3 依赖倒转原则

    指在软件里面,把父类都替换成它的子类,程序的行为没有变化。简单的说,子类型能够替换掉它们的父类型。依赖性倒转其实可以说是面向对象设计的标志,用哪种语言编程并不是很重要。

    1.4 接口隔离原则

    定制服务的例子,每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干。有降低类之间的耦合度的意思。

    1.5 合成/聚合复用原则

    合成/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。它的设计原则是:要尽量使用合成/聚合,尽量不要使用继承。

    1.6 最少知道原则

    一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

    3  设计模式

    设计模式分为三种类型,共23种。

    创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。

    结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

    行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。

     

      

      参考:http://blog.csdn.net/zhangerqing/article/details/8194653

         Gof设计模式 中文版

  • 相关阅读:
    [第二届构建之法论坛] 预培训文档(Java版)
    避免走进熟人社交的误区——给新手助教的几个建议
    BugPhobia发布篇章:Beta版本学霸在线系统正式发布
    BugPhobia回顾篇章:团队Beta 阶段工作分析
    BugPhobia终章篇章:学霸在线系统Beta阶段展示
    BugPhobia发布篇章:学霸在线系统测试报告
    BugPhobia开发终结篇章:Beta阶段第XI次Scrum Meeting
    BugPhobia开发篇章:Beta阶段第X次Scrum Meeting
    BugPhobia开发篇章:Beta阶段第IX次Scrum Meeting
    BugPhobia休息篇章:Beta阶段第IX次Scrum Meeting前奏
  • 原文地址:https://www.cnblogs.com/gxl00/p/5010100.html
Copyright © 2020-2023  润新知