【转】面向对象原则:高内聚、低耦合。多聚合、少继承

面向对象原则:高内聚、低耦合。多聚合、少继承

 

面向对象的基本原则:多聚合,少继承。低耦合,高内聚.
【高内聚、低耦合】
    内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。

    耦合:模块与模块之间接口的复杂程度,模块之间联系越复杂耦合度越高,牵一发而动全身。

    目的:使得模块的“可重用性”、“移植性”大大增强

    通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低

    模块粒度:
      『函数』
           高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合)

           低耦合:减少类内部,一个成员方法调用另一个成员方法

      『类』
           高内聚低耦合:减少类内部,对其他类的调用
    
      『功能块』
           高内聚低耦合:减少模块之间的交互复杂度(接口数量,参数数据)


      横向:类与类之间、模块与模块之间
      纵向:层次之间

      尽可能,内容内聚,数据耦合

      详细参考:http://apps.hi.baidu.com/share/detail/12189176
                http://www.iteye.com/topic/49082
                

【多聚合、少继承】
    聚合:事物A由若干个事物B组成,体现在类与类之间的关系就是:“类B的实例”作为“类A”的“成员对象”出现。
    
    继承:顾名思义,体现在类与类之间的关系就是:“类B”被类A所继承

    显然,当观察类B所具有的行为能力时,“聚合”方式更加清晰。

    典型应用:java适配器模式中,优选“对象适配器”,而不是“类适配器”


本文转自http://www.cnblogs.com/edisonfeng/archive/2011/12/22/2298048.html

posted @   韩梦芫  阅读(288)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示