设计模式--六大原则

六大设计原则

开闭原则

  • 定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
  • 软件实体包括
    • 项目或软件产品中按照一定得逻辑规则划分的模块
    • 抽象和类
    • 方法

依赖倒置

  • 定义:High level modules should not depend upon low level modules.Both should depend upon
    abstractions.Abstractions should not depend upon details.Details should depend upon abstractions.
  • 三层含义
    • 高层模块不应该依赖底层模块,两者都应该依赖其抽象
    • 抽象不应该依赖细节
    • 细节应该依赖抽象

单一职责

  • 定义:应该有且仅有一个原因引起类的变更

里氏替换原则(LSP原则)

  • 定义:如果对每一个类型S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都替换成o2时,程序P的行为没
    有发生变化,那么类型S是类型T的子类型
  • 注意:如果子类不能完整地实现父类的方法, 或者父类的某些方法在子类中已经发
    生“畸变”, 则建议断开父子继承关系, 采用依赖、 聚集、 组合等关系代替继承。

接口隔离原则

接口分为两种:

  • 实例接口,在Java中声明一个类,然后用new关键字产生一个实例,它是对一个类型的事物的描述,这是一种接口。
  • 类接口,Java中经常使用interface关键字定义的接口
    隔离的定义:
  • 客户端不应该依赖它不需要的接口
  • 类间的依赖关系应该建立在最小的接口上
    通俗而言,就是接口尽量细化,同时接口中的方法尽量减少。

迪米特法则–最少知识原则

一个对象应该对其他对象有最少的了解。该法则的核心观念就是类间解耦,弱耦合,类的复用率才可以提高。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值