沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散!
SOLID 是Michael Feathers推荐的便于记忆的首字母简写,它代表了Robert Martin定名的最重要的五个面对对象编码设计原则:
- S: 单一职责原则 (SRP)
- O: 开闭原则 (OCP)
- L: 里氏调换原则 (LSP)
- I: 接口隔离原则 (ISP)
- D: 依附反转原则 (DIP)
Bad:
单一职责原则 Single Responsibility Principle (SRP)
"修改一个类应当只为一个来由"。人们老是易于用一堆办法塞满一个类,如同我们在飞机上只能携带一个行李箱(把所有的器械都塞到箱子里)。如许做的问题是:大年夜概念上如许的类不是高内聚的,并且留下了很多来由去修改它。将你须要修改类的次数降低到最小很重要。这是因为,当有很多办法在类中时,修改个一一处,你很难知晓在代码库中哪些依附的模块会被影响到。
Bad:
- class UserSettings{
- private $user;
- public function __construct($user)
- {
- $this->user = $user;
- }
- public function changeSettings($settings)
- {
- if ($this->verifyCredentials()) {
- // ...
- }
- }
- private function verifyCredentials()
- {
- // ...
- }
- }
Good:
- class UserAuth {
- private $user;
- public function __construct($user){
- $this->user = $user;
- }
- public function verifyCredentials(){
- // ...
- }
- }
- class UserSettings {
- private $user;
- private $auth;
- public function __construct($user) {
- $this->
推荐阅读
沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散! 比来在进行微办事架构的交换和>>>详细阅读
本文标题:PHP代码简洁之道——SOLID原则
地址:http://www.17bianji.com/lsqh/38154.html
1/2 1