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

永康物流网站百度认证

永康物流网站,百度认证,现在什么推广效果好呢,化州手机网站建设公司设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。本文主要介绍一下.NET(C#)…

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

 

迪米特法则(Law Of Demeter)

迪米特法则(Law of Demeter)又叫作最少知识原则(The Least Knowledge Principle),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信,不和陌生人说话。迪米特法则的初衷在于降低类之间的耦合。由于每个类尽量减少对其他类的依赖,因此,很容易使得系统的功能模块功能独立,相互之间不存在(或很少有)依赖关系。

迪米特法则不希望类之间建立直接的联系。

例如,

1)一般的反面设计实现

using System;
using System.Collections.Generic;
namespace ConsoleApplication
{//学校总部员工类class Employee{public string Id { get; set; }}//学院的员工类class CollegeEmployee{public string Id { get; set; }}//管理学院员工的管理类class CollegeManager{//返回学院的所有员工public List<CollegeEmployee> getAllEmployee(){List<CollegeEmployee> list = new List<CollegeEmployee>();//增加了10个员工到listfor (int i = 0; i < 10; i++){CollegeEmployee emp = new CollegeEmployee();emp.Id="学院员工ID=" + i;list.Add(emp);}return list;}}//学校管理类class SchoolManager{//返回学校总部的员工public List<Employee> getAllEmployee(){List<Employee> list = new List<Employee>();for (int i = 0; i < 5; i++){Employee emp = new Employee();emp.Id = "学校总部员工ID=" + i;list.Add(emp);}return list;}//该方法完成输出学校总部和学院员工信息(ID)public void PrintAllEmployee(CollegeManager sub){//CollegeEmployee不是SchoolManager的直接朋友//CollegeEmployee是以局部变量方式出现在SchoolManager违反了迪米特法则//获取学院员工List<CollegeEmployee> list1 = sub.getAllEmployee();Console.WriteLine("===========学院员工==============");foreach (CollegeEmployee e in list1){Console.WriteLine(e.Id);}//获取学院总部员工List<Employee> list2 = this.getAllEmployee();Console.WriteLine("===========学院总部员工==============");foreach (Employee e in list2){Console.WriteLine(e.Id);}}}class Program{static void Main(string[] args){//创建一个SchoolManager对象SchoolManager schoolManager = new SchoolManager();//输出学院的员工ID和学校总部的员工信息schoolManager.PrintAllEmployee(new CollegeManager());Console.ReadKey();}}
}

 2)迪米特法则的实现

using System;
using System.Collections.Generic;
namespace ConsoleApplication
{//学校总部员工类class Employee{public string Id { get; set; }}//学院的员工类class CollegeEmployee{public string Id { get; set; }}//管理学院员工的管理类class CollegeManager{//返回学院的所有员工public List<CollegeEmployee> getAllEmployee(){List<CollegeEmployee> list = new List<CollegeEmployee>();//增加了10个员工到listfor (int i = 0; i < 10; i++){CollegeEmployee emp = new CollegeEmployee();emp.Id = "学院员工ID=" + i;list.Add(emp);}return list;}//输出学院员工的信息public void printEmployee(){//获取到学院员工List<CollegeEmployee> list1 = getAllEmployee();Console.WriteLine("===========学院员工==============");foreach (CollegeEmployee e in list1){Console.WriteLine(e.Id);}}}//学校管理类class SchoolManager{//返回学校总部的员工public List<Employee> getAllEmployee(){List<Employee> list = new List<Employee>();for (int i = 0; i < 5; i++){Employee emp = new Employee();emp.Id = "学校总部员工ID=" + i;list.Add(emp);}return list;}//该方法完成输出学校总部和学院员工信息(ID)public void PrintAllEmployee(CollegeManager sub){//将输出学院员工方法,封装到CollegeManagersub.printEmployee();//获取学院总部员工List<Employee> list2 = this.getAllEmployee();Console.WriteLine("===========学院总部员工==============");foreach (Employee e in list2){Console.WriteLine(e.Id);}}}class Program{static void Main(string[] args){//创建一个SchoolManager对象SchoolManager schoolManager = new SchoolManager();//输出学院的员工ID和学校总部的员工信息schoolManager.PrintAllEmployee(new CollegeManager());Console.ReadKey();}}
}

 

http://www.yidumall.com/news/25179.html

相关文章:

  • 做网站之前要先购买服务器吗网络推广靠谱吗
  • 柳州网站开发沈阳seo网站推广
  • 可以自学网站开发网站营销网
  • 在线原型设计网站查询网入口
  • 通用网站后台管理系统(php版)seo是什么意思呢
  • wordpress 积分阅读东莞seo网络优化
  • 张家港网站建设制作seo网址大全
  • 采集网站会员关键词如何排名在首页
  • 自定义投票网站怎么做yoast seo
  • 建设微信商城网站制作网络营销公司排行
  • 网络运营商自动选择上海外贸seo公司
  • 西安网站开发公司百度互联网营销是什么
  • 站优化热点新闻事件今日最新
  • 网站制作策划书百度seo优化及推广
  • 哈尔滨网站建设oeminc百度广告投放价格
  • 网站怎么分工做百度爱采购优化
  • 在网站上上传文件需要怎么做百度app下载官方
  • 数据库网站有哪些独立站网站
  • 提卡网站怎么做云盘搜索引擎入口
  • 有没有做任务一样的网站兼职策划书模板
  • 富阳网站建设网上推广app
  • 西宁做网站公司排名长沙县网络营销咨询
  • 湖南益阳网站建设友情链接属于免费推广吗
  • 网站推广的具体方法青岛网站建设方案服务
  • 哪些彩票网站可做代理赚钱seo优化在线诊断
  • 沈阳网站建设推广网站链接查询
  • 网站的绝对路径怎么做郑州粒米seo顾问
  • 国内crm网站seo链接购买
  • 乌海建设局网站百度指数怎么看排名
  • 个人网站怎么建立百度推广案例及效果