单一职责原则简单来说就是一个类只负责一项职责,一个类只负责一个功能领域中的相应职责。也就是实现高内聚、低耦合。单一职责原则能使用代码阅读简单,易于维护;扩展升级,减少修改,直接增加类;方便代码重用的。
例如,
- 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} 两脚行走");
- }
- }
- }