• 设计模式入门--设计模式原则(总纲)


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

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

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

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

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

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

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

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

  • 相关阅读:
    Asible——inventory与大项目管理
    Asible——template
    Ansible——文件管理
    Ansible——处理任务失败
    Ansible——handlers与notify
    ubuntu 16.04 LTS 开发环境的安装及常用软件
    curl 命令详解
    VMware虚拟机三种网络模式详解
    ubantu 16.04 安装有道词典
    OneNote 使用汇总
  • 原文地址:https://www.cnblogs.com/wangyu19900123/p/7674852.html
Copyright © 2020-2023  润新知