网站建设域名备案谁负责优秀网站建设公司
web/
2025/10/9 1:54:34/
文章来源:
网站建设域名备案谁负责,优秀网站建设公司,短网址生成系统源码,什么网站做弹窗广告好设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守#xff0c;而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内#xff0c;努为做到一个良好的设计。本文主要介绍一下.NET(C#)…设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内努为做到一个良好的设计。本文主要介绍一下.NET(C#) 接口隔离原则。 接口隔离原则Interface Segregation Principle
接口隔离原则Interface Segregation PrincipleISP要求程序员尽量将臃肿庞大的接口拆分成更小的和更具体的接口让接口中只包含客户感兴趣的方法。客户端不应该依赖它不需要的接口一个类对另一个类的依赖应该建立在最小的接口上。 其中单一职责原则注重的是职责而接口隔离原则注重的是对接口依赖的隔离。单一职责原则主要是约束类它针对的是程序中的实现和细节接口隔离原则主要约束接口主要针对抽象和程序整体框架的构建。遵循接口隔离原则是为了约束接口、降低类对接口的依赖性。
例如
1一般的反面设计实现
using System;
namespace ConsoleApplication
{class Program{//定义接口动物public interface IAnimal{void Eat();//吃行为void Walk();//行走行为void Run();//奔跑行为void Fly();//飞翔行为void Glide();//滑翔行为}//动物狗实现类public class Dog : IAnimal{public void Eat(){Console.WriteLine(吃狗粮);}public void Walk(){Console.WriteLine(四条腿走路);}public void Run(){Console.WriteLine(快跑);}//对狗来说无用的接口方法public void Glide() { }public void Fly() { }}//动物鸟实现类public class Bird : IAnimal{public void Eat(){Console.WriteLine(吃虫子);}public void Glide(){Console.WriteLine(在空中滑翔);}public void Fly(){Console.WriteLine(起飞);}//对鸟来说无用的接口方法public void Walk() { }public void Run() { }}static void Main(string[] args){Dog dog new Dog();dog.Eat();dog.Walk();dog.Run();Bird bird new Bird();bird.Eat();bird.Glide();bird.Fly();Console.ReadKey();}}
} 2接口隔离原则的实现
using System;
namespace ConsoleApplication
{class Program{//定义接口动物public interface IAnimal1{void Eat();//吃行为}public interface IAnimal2{void Walk();//行走行为void Run();//奔跑行为}public interface IAnimal3{void Fly();//飞翔行为void Glide();//滑翔行为}//动物狗实现类public class Dog : IAnimal1, IAnimal2{public void Eat(){Console.WriteLine(吃狗粮);}public void Walk(){Console.WriteLine(四条腿走路);}public void Run(){Console.WriteLine(快跑);}}//动物鸟实现类public class Bird : IAnimal1, IAnimal3{public void Eat(){Console.WriteLine(吃虫子);}public void Glide(){Console.WriteLine(在空中滑翔);}public void Fly(){Console.WriteLine(起飞);}}static void Main(string[] args){Dog dog new Dog();dog.Eat();dog.Walk();dog.Run();Bird bird new Bird();bird.Eat();bird.Glide();bird.Fly();Console.ReadKey();}}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89381.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!