C++ 大规模程序设计 之 组件

本文介绍了C++大规模程序设计中组件的重要性,强调组件的内聚性和独立性。内容涵盖组件定义的规则,如组件内部应包含所有声明和定义,.cpp文件应首先包含对应的.h文件,避免未声明的外部依赖。此外,讨论了组件间的依赖关系及其管理,包括编译时和链接时依赖,并提出提取依赖关系和注意友元关系对组件影响的建议。
摘要由CSDN通过智能技术生成

概述

组件是物理设计中的最小单位。
它主要的想法是把一定数量的内聚功能组织在一个物理的单元中,以达到轻松部署,轻松复用的目的。

物理组件可能会包含一个或多个逻辑组件,也有可能会跨越多个类。但这些逻辑组件或类一定是在功能上内聚的。

这里写图片描述

图中DrawShap.dll 为一个组件,它的内部其实包含了多个类。


关于组件的定义

规则 1: 一个组件中声明的任何逻辑结构,如果定义了,则应该全部定义在该组件内部。

图中为一个不妥当的做法:Class A 的实现分别放在了A.cpp和Main.cpp中,如果想要把A独立出来作为一个单独的组件对外提供服务的话,Main.cpp也会受到影响。

这里写图片描述


规则 2:每个组件的 .c/.cpp文件都应该将include 自己 .h文件的有效语句作为第一行。

这个规则看似是一种形式上的要求,它的主要目的是检查当前代码中是不是有外部的声明或定义,或者声明中是否有遗漏,从而保证组件的相对的独立性。如果仅仅改变一行代码的位置就可以让系统替我们进行检查,简单高效,何乐而不为了。


规则 3:在一个组件的 .c文件中,避免使用有外部连接并且没有在相应的.h文件中明确声明的定义。

辅以图示,一个不好的例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值