代码编织梦想

        熟练掌握和应用面向对象设计七大原则,是初中级工程师向高级/资深工程师进阶的一个必备技能。他可以大大的提升程序的可复用性和可维护性是重构代码的一大利器。

        本人菜鸟一枚本面文章的出发点是1.加深个人印象。2.作为笔记记录。3.分享。文章中有描述的不到位或者不正确的地方各位大佬多多指出多多包涵。

        使用设计模式的根本原因是适应变化,提升代码的复用率,扩展性,维护性和可读性。在设计时需要遵守以下七大原则:

        ⑴ 单一职责原则

        ⑵ 开放封闭原则

        ⑶ 依赖倒置原则

        ⑷ 里氏替换原则

        ⑸ 接口隔离原则

        ⑹ 组合复用原则

        ⑺ 迪米特原则

 开放封闭原则

        开闭原则强调的是一个软件实例(类,函数,模块等)应该对扩展开放,修改关闭。即每次有新的需求是应当添加新的代码来增强类型的行为,而不是修改原有代码(原则上是这样,看个人和项目需求)。

        利用面向对象的继承特性,可以很好的对所需要增加的功能进行拓展。代码如下:

    class Dog
    {
        public string name;
        public int age;

        public void Eat()
        {
            Console.WriteLine("吃狗粮");
        }
    }

        假如需要在Dog类中加入新的行为“摇尾巴”Wagtail的功能,如果直接在原有Dog类上修改,代码如下: 

    class Dog
    {
        public string name;
        public int age;

        public void Eat()
        {
            Console.WriteLine("吃狗粮");
        }

        public void Wagtail()
        {
            Console.WriteLine("摇尾巴");
        }
    }

        这样就会违背开放封闭原则,因为Dog类已经完成,如果需要增强功能,可以编写一个WagtailDog类继承自Dog,并在其中添加Wagtail的功能即可:

 class Program
    {
        static void Main(string[] agrs)
        {
            WagtailDog wagtailDog = new WagtailDog();
            wagtailDog.name = "摇尾巴的蛋蛋";
            wagtailDog.age = 10;
            wagtailDog.Eat();
            wagtailDog.Wagtail();
        }
    }

    class Dog
    {
        public string name;
        public int age;

        public void Eat()
        {
            Console.WriteLine("吃狗粮");
        }
    }

    class WagtailDog : Dog
    {
        public void Wagtail()
        {
            Console.WriteLine("摇尾巴");
        }
    }

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/nanyupeng/article/details/125680281

设计模式面向对象七大原则(二)——开放-封闭原则-爱代码爱编程

一、基本原则 1)开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则——面向对象设计的终极目标 2)一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。 3)当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。 4)编程中

面向对象设计七大原则-爱代码爱编程

简述 原则都是前人总结出来的经验,遵循这些原则,让我们开发的程序更加健壮易维护。七大原则之间并不是相互孤立的,彼此间存在着一定关联,一个可以是另一个原则的加强或是基础。违反其中的某一个,可能同时违反了其余的原则。开闭原则是面向对象的可复用设计的基石。其他设计原则是实现开闭原则的手段和工具。一般地,可以把这七个原则分成了以下两个部分: 设计目标: 开闭原

面向对象七大设计原则,看了必会(代码详细版)-爱代码爱编程

咱们首先了解一个单词 solid 这个单词和咱们今天要讲述的七大原则有什么关系? 咱们首先要了解七大原则都有什么? 单一职责原则 (Single Responsibility Principle)开放-关闭原则 (Open-Closed Principle)里氏替换原则 (Liskov Substitution Principle)接口隔离原则 (I

wpf绑定非元素对象_chenzhigang_002的博客-爱代码爱编程

本文主要说明控件绑定类的属性。比如表格绑定对象,当对象更新的时候,表格内容同步更新。 无需再写多余的代码。 对应的类必须是实现接口: INotifyPropertyChanged ,对应属性是 public 类代码如下: using System; using System.Collections.Generic; using System.Lin

面向对象七大设计原则之依赖倒置原则_jerry nan的博客-爱代码爱编程

        熟练掌握和应用面向对象设计七大原则,是初中级工程师向高级/资深工程师进阶的一个必备技能。他可以大大的提升程序的可复用性和可维护性是重构代码的一大利器。         本人菜鸟一枚本面文章的出发点是1.加深个人印象。2.作为笔记记录。3.分享。文章中有描述的不到位或者不正确的地方各位大佬多多指出多多包涵。         使用设计模式的

面向对象设计的七大设计原则详解_面向对象的八大设计原则-爱代码爱编程

面向对象的七大设计原则 文章目录 面向对象的七大设计原则简述七大原则之间的关系 一、开闭原则(The Open-Closed Principle ,OCP)概念理解系统设计需要遵循开闭原则的原因

ocp集群内的ako功能测试_upiavi-爱代码爱编程

NSX ALB + Harbor + OpenShift 4.8 UPI安装配置实验笔记系列目录 目录 NSX ALB + Harbor + OpenShift 4.8 UPI安装配置实验笔记系列目录 1 基本功能测试 1.1 AVI DNS功能测试 1.2 查看AKO安装前已发布的应用route的变化 1.2.1 查看avi-demo-rou

netcore自带的ioc依赖注入如何实现一个接口多个实现类的注入_netcore 将某一个接口的实现类注入-爱代码爱编程

提示:一般情况下我们都是使用一个接口一个实现类,但是有一些情况,我们为了实现多态,我们会定义一个接口,多个实现类。这种情况我们在NetCore自带的依赖注入容器中,我们应该怎么来实现呢? 目录 前言 一、什么是依赖注入? 二、使用步骤 1.首先我们写一个扩展服务来批量注入我们的服务 2.默认实现服务TenantServiceBase

在ocp集群中安装nsx alb ako_akosettings.disablestaticroutesync-爱代码爱编程

NSX ALB + Harbor + OpenShift 4.8 UPI安装配置实验笔记系列目录 目录 1 在线安装NSXALB AKO 2 离线安装AKO 3 卸载AKO 1 在线安装NSXALB AKO 1). 在ocp中新建一个项目 oc new-project avi-system 2). 更新helm repo库: ​