单一职责原则(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} 两脚行走");
}
}
}