设计模式原则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式原则相关的知识,希望对你有一定的参考价值。

单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。--->解耦,增加内聚性

  SRP使得代码复用变得简单。如果某段代码有一系列功能,就很难复用你想要的那部分功能代码。

  SRP使得维护变得简单。如果有多个功能,那么修改其中一个功能时可能影响到其他功能。


 

开放-封闭原则(OCP): 是说软件实体(类,模块,函数等等)应该可以扩展,但是不可修改。

  设计类时尽量考虑周全,减少将来修改的可能性(但是也不可能完全做到不用修改)
  变化发生时,创建抽象来隔离以后发生的同类变化。


 

 

迪米特法则:(LoD,也叫最少知识原则)如果两个类不必彼此直接通信,那么这两个类就不应发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。


 

 

依赖倒转原则:A.高层模块不应该依赖低层模块。两个都应该依赖抽象。
       B.抽象不应该依赖细节。细节应该依赖抽象。
  比如实现某个函数访问数据库就是依赖低层模块,这只对特定情况有效,如果改变查询的对象,虽然高层模块逻辑是一样,却因为依赖低层模块而不能复用。
  其实就是针对接口编程,不要对实现编程。


 

 

里氏代换原则(LSP):子类型必须能够替换掉它们的父类型。


 

 

面向对象4个优点:可维护,可扩展,可复用,灵活性好

 

以上是关于设计模式原则的主要内容,如果未能解决你的问题,请参考以下文章

函数:PHP将字符串从GBK转换为UTF8字符集iconv

linux常用命令:iconv 命令

Linux常用命令--iconv

iconv命令详解

iconv

php iconv函数转换出错问题