一、定义
二、代码
违反迪米特原则的代码:
//电脑:关机的行为、
public class Computer
{
//1.保存当前程序
public void SaveCurrentTask()
{
Console.WriteLine("保存当前程序");
}
//2.关闭屏幕
public void CloseScreen()
{
Console.WriteLine("关闭屏幕");
}
//3.关闭电脑
public void ShutDown()
{
Console.WriteLine("关闭电脑");
}
}
//人:调用电脑关机的行为
public class Person
{
public void CloseComputer(Computer c)
{
//不符合迪米特原则
c.SaveCurrentTask();
c.CloseScreen();
c.ShutDown();
}
}
迪米特原则的代码
//电脑:关机的行为、
public class Computer
{
//1.保存当前程序
public void SaveCurrentTask()
{
Console.WriteLine("保存当前程序");
}
//2.关闭屏幕
public void CloseScreen()
{
Console.WriteLine("关闭屏幕");
}
//3.关闭电脑
public void ShutDown()
{
Console.WriteLine("关闭电脑");
}
public void CloseComputer()
{
this.SaveCurrentTask();
this.CloseScreen();
this.ShutDown();
}
}
//人:调用电脑关机的行为
public class Person
{
public void CloseComputer(Computer c)
{
//符合迪米特原则
c.CloseComputer();
}
}
三、只和直接朋友进行通信
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。