
一、定义
二、代码
违反迪米特原则的代码:
   //电脑:关机的行为、
        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 删除。