设计模式之程序设计原则

来源:互联网 发布:java保存用户密码加密 编辑:程序博客网 时间:2024/06/04 18:38

一、基本概念

  OO(Object Oriented,面向对象)原则是我们的目标,而设计模式(Design Pattern)是我们的做法。为了交互对象之间的松耦合设计而努力。 良好的OO设计必须具备可复用、可扩充、可维护三个特性。

OO基本概念

OO基本概念:抽象、封装、继承、多态。

  • 抽象:把有共同属性或方法的抽象成一个类
  • 封装:把过程和数据隐藏起来,对数据的访问只能通过已定义的方法
  • 继承:派生类拥有父类的数据、方法,即子承父业
  • 多态:同一操作(方法)作用于不同的对象时,可以有不同的解释,产生不同的执行结果。

UML

标准建模语言(Unified Modeling Language, UML)是一个支持模型化和软件系统开发的图形化语言。组合(有时候叫聚合)是将一个对象放到另外一个对象里(组合),它是一种HAS-A的关系。

二、九大设计原则

  • 封装变化:找出应用中肯能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
  • 针对接口编程,而不是针对实现编程。
  • 多用组合,少用继承(当你将两个类结合起来使用,这就是组合)。
  • 为了交互对象之间的松耦合设计而努力。
  • 开放-关闭原则:类应该对扩展开放,对修改关闭。
  • 依赖倒置原则(Dependency Inversion Principle):要依赖抽象,不要依赖具体类。
    这个原则有一些指导方针,避免在OO设计中违反依赖倒置原则:
    1、变量不可以持有具体类的引用
    2、不要让类派生自具体类
    3、不要覆盖基类中已实现的方法
  • 最少知识(Least Knowledge)原则:只和你的密友谈话。
    这个原则提供了一些方针:就任何对象而言,在该对象的方法内,我们只应该调用属于以下范围的方 法:
    1、该对象本身
    2、被当做方法的参数而传递进来的对象
    3、此方法所创建或实例化的任何对象
    4、对象的任何组件(HAS-A)关系
  • 好莱坞原则:别调用我们,我们会调用你。
  • 单一责任:一个类应该只有一个引起变化的原因。
    这些原则应该尽量达到,而不是随时都要遵循这些原则。

内聚(cohesion)用来衡量一个类或模块紧密得达到单一目的或责任。当一个模块或一个类被设计成只支持一组相关的功能时,我们说它具有高内聚,反之,当被设计成只支持一组不相关的功能时,我们说它具有低内聚。

原创粉丝点击