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

      什么是设计模式,为什么我们要学习设计模式呢?

      其实设计模式是在软件设计过程中,涉及的常用问题,以及解决这些问题的方案和核心内容。而这些方案和内容就构成了设计模式,它主要是为了让我们解决特地场景下的一系列问题。

      下面在学习设计模式之前需要了解设计模式的一些原则,这里我罗列几点重要的规则,具体的使用会在后续各种设计模式中介绍。

      设计原则:

             1:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。

             2:针对接口编程,而不是针对实现编程。针对接口编程的意思就是针对超类型编程。

                                针对实现编程:Dog d = new Dog();  d.method();…

                                针对接口/超类编程:Animal animal = new Dog();  animal.method();…..

             3:为了交互对象之间的松耦合设计而努力。(观察者模式)

             4:开放-关闭原则,类应该对扩展开放,对修改关闭。(装饰者模式)

        5:依赖倒置原则,要依赖抽象,不要依赖具体的类。(工厂模式)

             6:最少知识原则,只和你的密友谈话。(外观模式)

             7:好莱坞原则,别调用我们,我们会调用你。(模板方法模式)

          8:设计原则,一个类应该只有一个引起变化的原因。(迭代器模式)

    注:此系列主要以代码为主,并且讲的是比较浅显的,主要是提供入门级别。概念性的知识可以百度或看head First 设计模式来了解。

     下一节:策略模式

    作者:哀&RT
    出处:博客园哀&RT的技术博客--http://www.cnblogs.com/Tony-Anne/
    您的支持是对博主最大的鼓励,感谢您的认真阅读。
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    使用NPOI读取Excel表格内容并进行修改
    JSON.parse()和JSON.stringify()
    切图时图片的选择:JPG、PNG、GIF的区别
    用js把数据从一个页面传到另一个页面
    iframe中positioin:fixed失效问题
    YUV格式&像素
    JS中插入节点的方法appendChild和insertBefore的应用
    CSS的相对定位和就对定位
    CSS中的相对定位和绝对定位
    POJ-1734
  • 原文地址:https://www.cnblogs.com/Tony-Anne/p/6411891.html
Copyright © 2011-2022 走看看