gpt4 book ai didi

oop - 在坚持 DRY 的同时保持低耦合

转载 作者:行者123 更新时间:2023-12-04 06:21:01 26 4
gpt4 key购买 nike

“保持高内聚和低耦合”(或一些变体)的口头禅经常被抛来抛去。但是,我发现它经常与“不要重复自己”相冲突。

例如,我想我们都可以同意重新实现 std::string 是一件坏事。或使用 C 字符串,但不包括 std::string创建另一个依赖项并因此增加耦合?

再举一个例子,以 std::stringstream .它继承自 iostream ,继承自 istreamostream , 继承自 ios ,继承自 ios_base .在所有这些派生中,它继承了许多功能 - 足以使手动重新实现成为一个非常糟糕的主意。它还拉动 <ios><istream>标题,即使只有 <sstream>被包括在内,从而增加了耦合。

如何在不为每个模块重新发明轮子的情况下保持低耦合?

编辑:如果这两个概念不能共存,应该偏爱哪一个?

最佳答案

请转http://www.artima.com/intv/dry.html在干燥时,
特别是 “大多数人认为 DRY 意味着你不应该重复代码。这不是它的意图。DRY 背后的想法远不止于此” .

除此之外,在您讨论的示例中,std::string 和您的系统不是紧密耦合的,因为您不依赖/使用 std::string 的任何内部信息。对 std::string 的任何(内部)更改都不会影响您的系统。

关于oop - 在坚持 DRY 的同时保持低耦合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6565724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com