单一职责原则(Single Responsibility Principle)
单一职责原则简单来说就是一个类只负责一项职责,一个类只负责一个功能领域中的相应职责。也就是实现高内聚、低耦合。单一职责原则能使用代码阅读简单,易于维护;扩展升级,减少修改,直接增加类;方便代码重用的。
例如,
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static void Main(string[] args) { { Animal animal = new AnimalChicken("鸡"); animal.Eat(); animal.Move(); } { Animal animal = new AnimalCow("牛"); animal.Eat(); animal.Move(); } Console.ReadKey(); } } public abstract class Animal { protected string _Name = null; public Animal(string name) { this._Name = name; } public abstract void Eat(); //{ // if (this._Name.Equals("鸡")) // { // Console.WriteLine($"{this._Name} 吃玉米"); //} // else if (this._Name.Equals("牛")) // { // Console.WriteLine($"{this._Name} 吃草"); //} ////。。 //} public abstract void Move(); //if (this._Name.Equals("鸡")) // { // Console.WriteLine($"{this._Name} 两脚行走"); //} // else if (this._Name.Equals("牛")) // { // Console.WriteLine($"{this._Name} 四脚行走"); //} } public class AnimalCow : Animal { public AnimalCow(string name) : base(name) { } public override void Eat() { Console.WriteLine($"{this._Name} 吃草"); } public override void Move() { Console.WriteLine($"{this._Name} 四脚行走"); } } public class AnimalChicken : Animal { public AnimalChicken(string name) : base(name) { } public override void Eat() { Console.WriteLine($"{this._Name} 吃玉米"); } public override void Move() { Console.WriteLine($"{this._Name} 两脚行走"); } } }