zoukankan      html  css  js  c++  java
  • 设计模式学习——前言和目录

    前言                 


       入行也一年多了,蜗牛般的爬行。继续做程序员,2014就拿设计模式开始开刀吧,算是总结篇,文章选用《设计之禅》和《你的设计模式》这两本书。使用UML的类图方式画结构图,工具采用StarUML。之所以以这个学习开始,原因只有一个《设计之禅》这本书去年买的还没看完一直放着,但是最近想看其他书了,答应自己先看完这本书在进行看其他的。本人不吝舍买书,因为这样的投资是值得的。

    正文                 


     0 . 准备

           设计模式学习——准备(UML类图)

     1.创建型模式  

      社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题,总共有6个具体的创建型模式。(说明:严格来说,简单工厂模式不是GoF总结出来的23种设计模式之一。)

        设计模式学习——简单工厂模式(Simple Factory)

        设计模式学习——工厂方法模式(Factory Method)

        设计模式学习——抽象工厂模式(Abstract Factory)

        设计模式学习——创建者模式(Builder)

        设计模式学习——原型模式(Prototype)

        设计模式学习——单例模式(Singleton)

    2.结构型模式  

      在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖关系会影响到后续程 序的维护性、代码的健壮性、耦合性等。对象结构的设计很容易体现出设计人员水平的高低,总共有7个具体的结构型模式。

        设计模式学习——外观模式(Facade)

        设计模式学习——适配器模式(Adapter)

        设计模式学习——代理模式(Proxy)

        设计模式学习——装饰模式(Decorator)

        设计模式学习——桥模式(Bridge)

        设计模式学习——组合模式(Composite)

        设计模式学习——享元模式(Flyweight)

    3.行为型模式  

      在对象的结构和对象的创建问题都解决了之后,就剩下对象的行为问题了,如果对象的行为设计的好,那么对象的行为就会更清晰,它们之间的协作效率就会提高,总共有11个具体的行为型模式。

        设计模式学习——模板方法模式(Template Method)

        设计模式学习——观察者模式(Observer)

        设计模式学习——状态模式(State)

        设计模式学习——策略模式(Strategy)

        设计模式学习——职责链模式(Chain of Responsibility)

        设计模式学习——命令模式(Command)

        设计模式学习——访问者模式(Visitor)

        设计模式学习——调停者模式(Mediator)

        设计模式学习——备忘录模式(Memento)

        设计模式学习——迭代器模式(Iterator)

        设计模式学习——解释器模式(Interpreter)

    六大设计原则:

      应该说这是所有设计模式的共性,都是隐形于其中。

        设计模式学习——单一职责原则

        设计模式学习——里氏替换原则

        设计模式学习——依赖倒置原则

        设计模式学习——接口隔离原则

        设计模式学习——迪米特法则

        设计模式学习——开闭原则

     

    附注:                     


       经常被人说虎头蛇尾,不想被别人说,那就干。行动证明一切,没有什么好说的。

  • 相关阅读:
    推荐一本不错的书《Sencha Ext JS 5 Bootcamp in a Book》
    Libgdx 1.6.0发布,跨平台游戏开发框架
    《.NET最佳实践》与Ext JS/Touch的团队开发
    【翻译】Sencha Cmd中脚本压缩方法之比较
    【翻译】Ext JS 6早期访问版本发布
    【翻译】Ext JS 6有什么新东西?
    SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
    Spring boot+Thymeleaf+easyui集成:js创建组件页面报错
    SpringBoot多模块搭建,依赖管理
    IDEA在同一窗口导入多个项目
  • 原文地址:https://www.cnblogs.com/qhyhao/p/3501685.html
Copyright © 2011-2022 走看看