iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#聚合复用原则怎么实现
  • 316
分享到

C#聚合复用原则怎么实现

2023-06-29 09:06:48 316人浏览 独家记忆
摘要

这篇文章主要介绍“C#聚合复用原则怎么实现”,在日常操作中,相信很多人在C#聚合复用原则怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#聚合复用原则怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来

这篇文章主要介绍“C#聚合复用原则怎么实现”,在日常操作中,相信很多人在C#聚合复用原则怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#聚合复用原则怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

组合/聚合复用原则(LSP)

定义:优先使用组合,使系统更灵活,其次才考虑继承,达到复用的目的。
重用的方式:
继承、组合、聚合
解释说明:

  • 继承:在我们想复用代码时,我们一般会优先想到继承,但是具有继承关系的两个类是耦合度最高的两个类。(父类改了子类可能会受影响,子类改了父类也可能会受影响)
    如果父类的功能比较稳定,建议使用继承来实现代码复用,因为继承是静态定义的,在运行时无法动态调用。

  • 组合:是整体与部分的关系,整体离不开部分,部分离开了整体没有意义,如飞机翅膀与飞机的关系。

  • 聚合:也是整体与部分的关系,但整体可以分离部分,部分也可以离开整体,如火车与车厢的关系。

组合/聚合:是通过获得其他对象的引用,在运行时刻动态定义的,也就是在一个对象中保存其他对象的属性,这种方式要求对象有良好定义的接口,并且这个接口也不经常发生改变,而且对象只能通过接口来访问,这样我们并不破坏封装性,所以只要类型一致,运行时还可以通过一个对象替换另外一个对象。

示例1:组合

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 组合聚合复用原则{    /// <summary>    /// 定义一个飞机翅膀类    /// </summary>    public class airfoil    {        /// <summary>        /// 定义方法        /// </summary>        public void AdjustAngle()        {            Console.WriteLine("调整角度");        }    }    public class Plane    {        // 定义一个私有的飞机翅膀类的变量        private Airfoil airfoil;        // 省略setter、getter        public void Fly()        {            // 使用组合实现代码的复用            airfoil.AdjustAngle();        }    }}

上面代码中飞机翅膀和飞机之间使用继承就不太合适,本身也就是组合关系,这样就实现了代码的复用。在平常使用最多的就是在一个对象中声明另外一个对象的变量。

示例2:聚合

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 组合聚合复用原则{    /// <summary>    /// 定义一个车厢类    /// </summary>    public class RailwayCarriage    {        public void Loading()        {            Console.WriteLine("车厢装载118人");        }    }    /// <summary>    /// 定义一个火车类    /// </summary>    public class Train    {        // 定义一个私有的车厢类的变量(在一个类中定义另外一个类的引用)        private RailwayCarriage rc;        // 省略setter、getter        public void Carry()        {            // 可以使用车厢,也可以不使用车厢           if(rc!=null)           {               rc.Loading();           }           Console.WriteLine("车头装载5人");        }        public void Run()        { }    }}

到此,关于“C#聚合复用原则怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: C#聚合复用原则怎么实现

本文链接: https://www.lsjlt.com/news/323827.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#聚合复用原则怎么实现
    这篇文章主要介绍“C#聚合复用原则怎么实现”,在日常操作中,相信很多人在C#聚合复用原则怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#聚合复用原则怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-29
  • C#面向对象设计原则之组合/聚合复用原则
    组合/聚合复用原则(LSP) 定义:优先使用组合,使系统更灵活,其次才考虑继承,达到复用的目的。重用的方式:继承、组合、聚合解释说明: 继承:在我们想复用代码时,我们一般会优先想到继...
    99+
    2024-04-02
  • Java中的合成聚合复用原则
    本篇文章为大家展示了Java中的合成聚合复用原则,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。合成聚合复用原则合成复用原则又称为组合/聚合复用原则(Composition/Aggregate Reu...
    99+
    2023-05-31
    java ava
  • 什么是高内聚低耦合原则
    本篇文章为大家展示了什么是高内聚低耦合原则,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、什么是耦合度软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分摸块的一个准则就是高内聚低耦合。...
    99+
    2023-05-31
    高内聚低耦合原则 耦合
  • C#接口隔离原则怎么实现
    今天小编给大家分享一下C#接口隔离原则怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。接口隔离原则(ISP)定义:使用...
    99+
    2023-06-29
  • C#里氏替换原则怎么实现
    本文小编为大家详细介绍“C#里氏替换原则怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#里氏替换原则怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。里氏替换原则(LSP)定义:在任何父类出现的地...
    99+
    2023-06-29
  • Java中合成复用原则是什么
    小编给大家分享一下Java中合成复用原则是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!定义合成复用原则(Composite Reuse Principle),即尽量使用组合/聚合的方式,而不是使用继承。案例需求现在假...
    99+
    2023-06-29
  • 怎么用Java实现网站聚合工具
    这篇文章主要介绍“怎么用Java实现网站聚合工具”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Java实现网站聚合工具”文章能帮助大家解决问题。原理可以把互联网上的网站看做一张巨大的连通图,不...
    99+
    2023-06-29
  • C#中怎么实现并使用接口隔离原则
    在C#中实现接口隔离原则,可以通过定义多个小而精简的接口,而不是一个大而臃肿的接口。这样可以让每个接口只包含一个特定功能或行为,使得...
    99+
    2024-04-03
    C#
  • Java设计模式七大原则之合成复用原则详解
    目录定义案例需求方案一方案二方案三对比分析总结设计原则的核心思想定义 合成复用原则(Composite Reuse Principle),即尽量使用组合/聚合的方式,而不是使用继承。...
    99+
    2024-04-02
  • C#实现六大设计原则之单一职责原则
    单一职责(SRP)定义: 不要存在多于一个导致类变更的原因,通俗的说,即一个类只负责一项职责。  问题由来: 类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求...
    99+
    2024-04-02
  • C#实现六大设计原则之依赖倒置原则
    依赖倒置原则(DIP)定义: 高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 问题由来: 类A直接依赖类B,假如要将类A改为依赖类C,则必须...
    99+
    2024-04-02
  • C#实现六大设计原则之里氏替换原则
    定义: 1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,...
    99+
    2024-04-02
  • Apache Pig中的聚合操作怎么实现
    在Apache Pig中,可以使用GROUP BY语句来对数据进行分组,然后使用内置的聚合函数(如SUM、COUNT、AVG等)对每...
    99+
    2024-04-02
  • C#实现六大设计原则之接口隔离原则
    接口隔离原则(ISP)定义: 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 问题由来: 类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对...
    99+
    2024-04-02
  • PostgreSQL绍聚合函数实现中怎么使用的simplehash
    这篇文章主要讲解了“PostgreSQL绍聚合函数实现中怎么使用的simplehash”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PostgreSQL绍聚...
    99+
    2024-04-02
  • mysql 聚合函数怎么用
    mysql 聚合函数怎么用?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql聚合函数用法:1、使用SELECT...
    99+
    2024-04-02
  • java面向对象设计原则之合成复用原则示例详解
    目录概念示例拓展概念 尽量使用合成/聚合,而不是使用继承实现复用。所谓的合成/聚合是指一个对象里持有另外一个类的对象,通过调用这些对象的方法得到复用已有功能的目的。如:报文解译程序中...
    99+
    2024-04-02
  • Grafana中怎么实现数据过滤和聚合
    在Grafana中实现数据过滤和聚合可以通过查询语句和面板设置来实现。以下是一些常见的方法: 使用查询语句中的WHERE...
    99+
    2024-04-02
  • MySQL中的聚合查询和联合查询怎么实现
    这篇文章主要介绍“MySQL中的聚合查询和联合查询怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL中的聚合查询和联合查询怎么实现”文章能帮助大家解决问题。一、聚合查询(行与行之间的计...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作