六大设计原则(一)
六大原则
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