当前位置: 首页 > news >正文

附近有没有学电脑的培训机构麒麟seo

附近有没有学电脑的培训机构,麒麟seo,响应式网站如何做的,建设网上银行查询C#设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。以下介绍C#依赖倒置原则…

C#设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。以下介绍C#依赖倒置原则。

依赖倒置原则(Dependence Inversion Principle)

依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。面向对象的开发很好的解决了这个问题,一般情况下抽象的变化概率很小,让用户程序依赖于抽象,实现的细节也依赖于抽象。即使实现细节不断变动,只要抽象不变,客户程序就不需要变化。这大大降低了客户程序与实现细节的耦合度。

例如,

1)一般的反面设计实现

using System;
namespace ConsoleApplication
{public class HondaCar{public void Run(){Console.WriteLine("本田开始启动");}public void Turn(){Console.WriteLine("本田开始转弯");}public void Stop(){Console.WriteLine("本田开始停车");}}public class FordCar{public void Run(){Console.WriteLine("福特开始启动");}public void Turn(){Console.WriteLine("福特开始转弯");}public void Stop(){Console.WriteLine("福特开始停车");}}public class BmwCar{public void Run(){Console.WriteLine("福特开始启动");}public void Turn(){Console.WriteLine("福特开始转弯");}public void Stop(){Console.WriteLine("福特开始停车");}}public class AutoSystem{public enum CarType{Ford, Honda, Bmw};HondaCar hcar = new HondaCar();FordCar fcar = new FordCar();BmwCar bcar = new BmwCar();private CarType type;public AutoSystem(CarType type){this.type = type;}public void RunCar(){if (type == CarType.Ford){fcar.Run();}else if (type == CarType.Honda){hcar.Run();}else if (type == CarType.Bmw){bcar.Run();}}public void TurnCar(){if (type == CarType.Ford){fcar.Turn();}else if (type == CarType.Honda){hcar.Turn();}else if (type == CarType.Bmw){bcar.Turn();}}public void StopCar(){if (type == CarType.Ford){fcar.Stop();}else if (type == CarType.Honda){hcar.Stop();}else if (type == CarType.Bmw){bcar.Stop();}}}class Program{public static void Main(){AutoSystem autoSystem = new AutoSystem(AutoSystem.CarType.Honda);autoSystem.RunCar();autoSystem.TurnCar();autoSystem.StopCar();Console.ReadKey();}}
}

 

 2)依赖倒置原则的实现

using System;
namespace ConsoleApplication
{public interface ICar{void Run();void Turn();void Stop();}public class BmwCar : ICar{public void Run(){Console.WriteLine("宝马开始启动");}public void Turn(){Console.WriteLine("宝马开始转弯");}public void Stop(){Console.WriteLine("宝马开始停车");}}public class FordCar : ICar{public void Run(){Console.WriteLine("福特开始启动");}public void Turn(){Console.WriteLine("福特开始转弯");}public void Stop(){Console.WriteLine("福特开始停车");}}public class HondaCar : ICar{public void Run(){Console.WriteLine("本田开始启动");}public void Turn(){Console.WriteLine("本田开始转弯");}public void Stop(){Console.WriteLine("本田开始停车");}}public class AutoSystem{private ICar icar;public AutoSystem(ICar icar){this.icar = icar;}public void RunCar(){icar.Run();}public void TurnCar(){icar.Turn();}public void StopCar(){icar.Stop();}}class Program{public static void Main(){AutoSystem autoSystem = new AutoSystem(new HondaCar());autoSystem.RunCar();autoSystem.TurnCar();autoSystem.StopCar();Console.ReadKey();}}
}

 

http://www.15wanjia.com/news/23470.html

相关文章:

  • 淄博政府网站建设专家网站品牌推广公司
  • 软件最全网站网络推广一般怎么收费
  • 南城做网站永久免费跨境浏览app
  • 建设手机网站设计上海小红书seo
  • 9377白蛇传奇aso优化推广公司
  • spring框架做网站全网营销代理加盟
  • 网站建设重要新网店如何做推广
  • 中国建设银行网站首页手机银行百度seo优化是做什么的
  • 东莞做网站 南城信科微营销平台
  • 优酷网站怎么做的seo技术培训广东
  • 电子工程网名又知道你是做工程国外网站seo
  • 有什么好的手机推荐网站搜索网站排行
  • 旅游网站总结域名备案查询站长工具
  • 如何在外管局网站做延期收汇行业网站
  • 广州荔湾做网站公司附近电商培训班
  • 龙华网站建设首页地址揭阳百度seo公司
  • 做护理简历的网站百度平台订单查询
  • 网站建设运行关键词搜索工具爱站网
  • 上海网站建设公司怎么分辨好坏qq群怎么优化排名靠前
  • 做网站开发最多能做几年seo收费标准多少
  • 深圳做手机网站怎么做网络营销推广
  • 徐州网站建设 网站制作百度首页排名代发
  • 国外优秀摄影网站深圳十大教育培训机构排名
  • 网站规划应遵循的原则有哪些百度电话号码
  • 网站数据库分离怎么做潍坊网站建设咨询
  • qq安全网页版在线登录昆明seo关键词
  • 用视频做影视的网站爱站seo工具
  • 达州北京网站建设深圳网络推广代理
  • 唐山百度做网站多少钱500强企业seo服务商
  • 上海网站建设公司案例百度网址导航