C#设计原则——迪米特原则

2022-09-19 14:23:32 浏览数 (1)

一、定义

  1. 创建一个类时要采用的一套原则。
  2. 要求一个对象对其他对象有最少的了解。
  3. 降低类之间的耦合。

二、代码

违反迪米特原则的代码:

代码语言:javascript复制
   //电脑:关机的行为、
        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();
            }
        }

迪米特原则的代码

代码语言:javascript复制
   //电脑:关机的行为、
        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();
            }
        }

三、只和直接朋友进行通信

  1. 成员对象
  2. 方法参数
  3. 方法返回值
  4. 注意:出现在局部变量中的类,不是直接朋友。

0 人点赞