zoukankan      html  css  js  c++  java
  • 设计模式开篇

    引用:谦虚的天下 http://www.cnblogs.com/qianxudetianxia/archive/2011/07/29/2121547.html

    oop = 面向对象特性 + 原则 + 模式

    面向对象的三大特性:封装、继承、多态。

    设计:两大基本原则和五大设计原则

    面向对象设计的2个基本原则:
    1.针对接口编程,而不是针对实现编程。
    2.优先使用对象组合,而不是类继承。 

    面向对象设计的5个设计原则:
    1.单一职责原则(SRP)
    2.开放封闭原则(OCP) 
    3.Liskov替换原则(LSP)
    4.依赖倒置原则(DIP)
    5.接口隔离原则(ISP) 

    http://www.cnblogs.com/seacryfly/archive/2011/12/29/seacryfly.html

    http://blog.csdn.net/banketree/article/details/24985607

    模式:GOF 23个设计模式+N

    根据模式的目的可分为3类:
    1.创建型模式:与对象的创建有关。
    2.结构性模式:处理类与对象的组合。
    3.行为性模式:对类或对象怎样交互和怎样 分配职责进行描述。

    设计模式解决的问题:

    下面列举几个常见的问题导致重新设计,可能需要设计模式来分析解决:
    1.通过显示的指定一个类来创建对象
    2.对特殊操作的依赖
    3.对硬件和软件平台的依赖
    4.对对象表示或实现的依赖
    5.算法依赖
    6.紧耦合
    7.通过生产子类来扩展功能
    8.不能方便的对类进行修改

    软件的设计臭味:
    1.僵化性
    2.脆弱性
    3.顽固性
    4.粘滞性
    5.不必要的复杂性
    6.不必要的重复
    7.晦涩性 

    设计模式以目的分类:创建型模式、结构型模式、行为型模式。

    *创建型模式:

    1、工厂方法模式
    2、抽象工厂模式
    3、创建者模式
    4、原型模式
    5、单例模式

    *结构型模式:
    6、适配器模式
    7、桥模式
    8、组合模式
    9、装饰模式
    10、外观模式
    11、享元模式
    12、代理模式


    *行为型模式
    13、解释器模式
    14、模板方法模式
    15、职责链模式
    16、命令模式
    17、迭代器模式
    18、中介者模式
    19、备忘录模式
    20、观察者模式
    21、状态模式
    22、策略模式
    23、访问者模式 

    除此之外,后来人发现很多新的模式,如空模式等。

    总结:期望在之后的学习工作中能充分利用好设计模式。

  • 相关阅读:
    重学JAVA基础(六):多线程的同步
    Extjs4中RadioGroup的赋值与取值
    灰色预测原理及JAVA实现
    微信公众平台开发尝试
    安装依赖的时候,报错npm WARN checkPermissions
    JavaScript 获取随机整数
    HTML+CSS+JS(+Vue)写一个通讯录组件
    常见问题 解决合集
    构造函数、原型对象prototype、实例、隐式原型__proto__的理解
    react项目中遇到的一些问题
  • 原文地址:https://www.cnblogs.com/myPersonalTailor/p/3517670.html
Copyright © 2011-2022 走看看