天下脸皮共十分
我占八分

设计模式基础

七大设计原则

单一职责原则

接口隔离原则

客户端不应该被迫依赖于它不使用的方法;一个类对另一个类的依赖应该建立在最小的接口上。

接口拆分,避免实现不需要的方法

依赖倒置原则

  • 高层模块不应该依赖低层模块,两者都应该依赖其抽象;
  • 抽象不应该依赖细节,细节应该依赖抽象。
  • 依赖倒转(倒置)的中心思想是面向接口编程
  1. 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的 多。以抽象为基础搭建的架枃比以细节为基础的架构要稳定的多。在java中,抽象 指的是接口或抽象类,细节就是具体的实现类
  2. 使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的 任务交给他们的实现类去完成
依赖关系传递的三种方式
  1. 接口传递
  2. 构造方法传递
  3. setter方式传递

迪米特法则

最小知道原则

里氏替换法则

尽量不重写父类方法

开闭原则

  • 开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则
  • 一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。
  • 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已 有的代码来实现变化。
  • 编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。

合成复用原则

UML

Unified Modeling Language

统一建模语言

Dependency

要点
  • 类中用到了对方
  • 如果是类的成员属性
  • 如果是方法的返回类型
  • 是方法接收的参数类型
  • 方法中使用到

Association

  • 关联关系实际上就是类与类之间的联系,他是依赖关系的特例
  • 关联具有导航性:即双向关系或单向关系
  • 关系具有多重性:如“1”(表示有且仅有一个),“0…”(表示0个或者多个), “0,1”(表示0个或者一个),“n…m”(表示n到 m个都可以),“m…*”(表示至少m 个)。

Generalization

  • 泛化关系
  • 依赖关系的特例
  • 实际就是继承关系

Implementation

实现关系实际上就是A类实现B接口,他是依赖关系的特例

Aggregation

聚合关系(Aggregation)表示的是整体和部分的关系,整体与部分可以分开。聚 合关系是关联关系的特例,所以他具有关联的导航性与多重性。

Composite

组合关系:也是整体与部分的关系,但是整体与部分不可以分开。

赞(3) 打赏
未经允许不得转载:Stephen Young » 设计模式基础
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏