六大原則
1. 單一職責原則(Single Responsibility Principle)
2. 里氏替換原則(Liskov Substitution Principle)
3. 迪米特法則 (Law Of Demeter)
4. 依賴倒置原則(Dependence Inversion Principle)
5. 接口隔離原則(Interface Segregation Principle)
6. 開閉原則 (Open Closed Principle)
這六大原則只是面向對象開發中推薦的一些指導建議,沒有明確的套路,在有些場景下可能忽略甚至違背這些原則,這些建議其實是開發前輩們總結下來的,我們也算是站在前輩的肩膀上學習
單一職責原則(Single Responsibility Principle)
類T負責兩個不同的職責:職責P1,職責P2。當由於職責P1需求發生改變而需要修改類T時, 有可能會導致原本運行正常的職責P2功能發生故障。 這就違背了單一職責。
一個類只負責一件事兒
一個方法只負責一件事兒
比如下面代碼:
封裝的動物類:
/// <summary> /// 封裝 /// 動物類 /// 簡單意味着穩定 /// </summary> public class Animal { private string _Name = null; public Animal(string name) { this._Name = name; } /// <summary> /// /// </summary> public void Breath() { if (this._Name.Equals("雞")) { Console.WriteLine($"{this._Name}:呼吸空氣!"); } else if (this._Name.Equals("魚")) { Console.WriteLine($"{this._Name}:呼吸水!"); } } /// <summary> /// 在這個時候,我們就應該要考慮 拆分 /// </summary> public void Action() { if (this._Name.Equals("雞")) { Console.WriteLine($"{this._Name}:Flying!"); } else if (this._Name.Equals("魚")) { Console.WriteLine($"{this._Name}:Swimming!"); } } }
後續看老大的:
https://www.cnblogs.com/anjingdian/p/15330795.html