php 设计原则,设计模式原则

本文详细介绍了面向对象设计的三大原则——开闭原则、单一职责原则和里氏替换原则。开闭原则强调对拓展开放,对修改关闭,以保持系统的稳定性和可扩展性;单一职责原则提倡一个类只负责一个功能,降低类的复杂度,提高可维护性;里氏替换原则确保子类可以替换基类而不影响系统功能。依赖倒转原则也得到了提及,它是实现高内聚、低耦合的重要手段,通过依赖抽象而不是具体实现来设计系统。
摘要由CSDN通过智能技术生成

开闭原则

概念:对拓展开放,对修改关闭

例如: Javascript代码我们可以在给对象类型拓展新功能,但是不能修改Js引擎的源码.如果每个人都能任意修改浏览器内核〃那么情况将会很糟糕。很多框架和插件我们都可以理解为是对浏览器的扩展而并没有改变浏览器内核。

设计要求:要求软件设计师有提前预见性,预留好扩展接口。典型案例Js的原型链给拓展带来极大方便

单一职责原则

概念:单职责原则:一个类只负责一个功能领域中的相应职责。一个类尽量只完成一个功能,很多任务分别分工给很多类做。

情景模拟

假设类C具有两个功能a,b

用了一段时间我们发现a功能不再满足需求需要修改,这个时候我们就要修改类c。但是修改C很有可能会导致本身良好运营的b出故障。

也就是说有潜在风险,对于大型项目哪怕很小风险也会浪费大量时间解决。

解决方案:

对以上问题功能a单独开发个类来处理,功能b单独用B类来处理。这样以后功能a不满足需求只需要修改类A,不会影响到类B

优点:降低类的复杂度、易維护、易扩展、可读性强

缺点:把握好粒度就没这个缺点(如果粒度过细,使类或接口的数目几何倍数增加,爆炸式增长也会给控制带来麻烦)

里氏替换原则

里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现。 里氏替换原则是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

依赖倒转原则

概念:依赖倒转原则( Dependency Inversion Principle,DRP):

1、高层模块不应该依赖低层模块,两者都应该依赖其抽象

2、抽象不应该依赖于细节,细节应当依赖于抽象

3、也可以理解为常说的面向接口编程,而非面向具体实现编程。

底层模块:一个逻辑的实现都是由原子逻辑组成的,不可分割的原子逻辑就是底层模块。

高层模块:底层模块的再组装就是高层模块。

抽象:抽象就是指接口或抽象类。

细节:细节就是实现类,实现接口或继承抽象类而产生的类就是细节。

经典案例:PDO数据库连接

PDO数据访问抽象层,符合依赖倒置原则,应用程序算是高层,具体数据库驱动算是低层,PDO中间模块算是抽象。

有了PDo让我们的程序可以很容易的在多种数据库间切换,而基本不用修改程序代码。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值