zoukankan      html  css  js  c++  java
  • 设计模式入门--设计模式原则(总纲)

      小编是一名.NET程序员,工作了五年有余了。虽然从大二开始接触了设计模式,但总不得其要领。后来学习了设计模式的几大原则。

      如果说设计模式是一本内功心法的话,那么设计原则就是这内功心法的总纲啊。大凡练武奇才,学会了总纲,虽然心法不一定学全,有时也能利用总纲悟得要领(奥义)。

      单一职责原则:一个类的抽象只有一个动机,具有一个职责。类的单一职责使得一个类就像一个积木一样,更加具有灵活性。

      开放-封闭原则:即对模块、类、方法(函数)的修改持封闭意见,对正在运行的线上代码尽量不修改。但可以增加扩展子类、利用方法的多态(重构overload 增加不同参数的同名函数、重写override改变父类方法)、利用面向接口编程的灵活性来实现对扩展的开放。

      依赖倒转原则:抽象不依赖于细节,细节依赖于抽象,说白了就是要面向接口编程,大家都定义好契约(接口),但对内部实现缺失封闭的。比如,我们开发的webservice、wcf都是面向接口编程,先定义契约(接口),然后把契约告诉相关合作的人即可。

      里氏替换原则:子类可以替换父类进行工作。C#的代码机制也满足这一点的,比如子类虽然可以重写(override)父类的方法,但该父类方法前提要是虚方法。

      是迪米特法则:也是最少知识原则,即类与类之间尽量是松散的,松耦合。我理解是一个类尽量不要依赖于另外一个类,比如需要在构造方法里如果需要传入另外一个类的话,不妨通过让另外一个类先引用一个接口(或者继承一个父类),通过传入接口(或者父类)使得这两个类的关系更加松散,因为松散后期可扩展的余地才更加丰富。

      以上就是我所了解的几大设计模式原则,希望大家互相学习、交流。

  • 相关阅读:
    LoadRunner系统资源监视
    Loadrunner web_url函数学习(转贴)
    Chrome的开发者工具(Chrome Developer Tools)
    浏览器对同一域名进行请求的最大并发连接数(转贴)
    转贴---Performance Counter(包含最全的Windows计数器解释)
    去掉html代码中多余琐碎的标签
    你永远不知道什么地方有笔误
    office2016开发者选项在哪?
    [VBA]检测一个中文字符串是否包含在另一个字符串中
    电子发票怎么开
  • 原文地址:https://www.cnblogs.com/wangyu19900123/p/7674852.html
Copyright © 2011-2022 走看看