接口分离原则
发布日期:2021-05-14 04:38:44 浏览次数:14 分类:博客文章

本文共 4905 字,大约阅读时间需要 16 分钟。

������

���������������������������������������������������������������������������������������������������������    ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������

���������������������������������������������������������������������������������

���������������Manager���������������������������������������SuperWorker������Worker������������������������������������������������������Worker���������������������������������������������������������Robert������������������������������Robert������������������������������������������������������������������������IWorker���������������������SuperWorker���worker������������������������������������������������������Robert���������������������������������������������������������������������������������

���������IWorker���������������������������������������������

���������������������������������������������Robert���������������������������������������������������������������������������������������������������������������������������������������������Manager������������������������������������������Robert������������������������

using System;namespace InterfaceSegregateDaemon{    interface IWorker    {        void Work();        void Eat();    }    class Original:IWorker    {        public void Work()        {            Console.WriteLine("Worker is working");        }        public void Eat()        {            Console.WriteLine("Worker is eating");        }    }    class SuperWorker : IWorker    {        public void Work()        {            Console.WriteLine("SuperWorker is working");        }        public void Eat()        {            Console.WriteLine("SuperWorker is eating");        }    }    class Robert : IWorker    {        public void Work()        {            Console.WriteLine("Robert is working");        }        public void Eat()        {           //No Implementation        }    }    class Manager    {        private IWorker worker;        public Manager(IWorker worker)        {            this.worker = worker;        }        public void Manage()        {            worker.Work();        }    }}
View Code

������

���������������������������������������������������������������������IWorker������������������������������������������������������Robert���������������������������������������������������������������������Robert���������������������������������������������������������������������������������������������IRecharge���������������ISleepy���������������

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace InterfaceSegregateDaemon{    interface IWorkable    {        void Work();    }    interface IEatable    {        void Eat();    }    interface IRechargable    {        void Recharge();    }    class Worker : IWorkable, IEatable    {        public void Work()        {            Console.WriteLine("Worker is working");        }        public void Eat()        {            Console.WriteLine("Worker is eating");        }    }    class SuperWorker : IWorkable, IEatable    {        public void Work()        {            Console.WriteLine("SuperWorker is working");        }        public void Eat()        {            Console.WriteLine("SuperWorker is eating");        }    }    class Robert : IWorkable,IRechargable    {        public void Work()        {            Console.WriteLine("Robert is working");        }        public void Recharge()        {            Console.WriteLine("Robert is recharging");        }    }    class Manager    {        private IWorker worker;        public Manager(IWorker worker)        {            this.worker = worker;        }        public void Manage()        {            worker.Work();        }    }}
View Code

������

���������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

上一篇:GridView自定义分页
下一篇:依赖倒置原则

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月16日 14时09分35秒