346得票16回答
面向对象范式中,松耦合和紧耦合有什么区别?

能否描述面向对象范式中松耦合和紧耦合的确切区别?

70得票6回答
耦合、内聚和迪米特法则

Demeter法则表明,您只应直接调用了解的对象。也就是说,不要进行方法链接来访问其他对象。这样做会在中间对象上建立不适当的链接,不适当地将您的代码与其他代码耦合在一起。 那很糟糕。 解决方案是,您所知道的类本质上需要公开简单的包装器,将责任委托给它有关系的对象。 那很好。 但是,这似...

38得票11回答
如何解决迪米特法则的违规问题?

我和同事为我们的客户设计了一个系统,我们认为我们创造了一个漂亮干净的设计。但是,我们引入了一些耦合问题。我可以尝试创建一个包含与我们的设计相同问题的示例设计,但如果您原谅我,我将创建我们的设计摘录以支持问题。 我们正在开发一个系统,用于登记患者的某些治疗方法。为避免出现到图像的断链,我将描述...

37得票5回答
内聚性和耦合度,它们代表什么?

什么是内聚和解耦?我找到了关于耦合的信息,但没有关于解耦的。

30得票3回答
游戏逻辑与渲染逻辑分离

什么是将渲染代码与实际游戏引擎/逻辑代码分离的最佳方法?这样做甚至是一个好主意吗? 假设我们有一个名为Knight的游戏对象。 Knight必须在屏幕上呈现给用户查看。我们现在有两种选择。要么我们给Knight一个可以调用的“Render/Draw”方法,要么我们创建一个渲染器类来负责渲染所...

24得票5回答
一个类的afferent couplings和efferent couplings有什么区别?

类似Sonar的代码质量度量工具确实提供了下钻到类级别,查找以下两个数字的能力: 入侵耦合数 出侵耦合数 这两个参数是什么?你能用一个简单的虚构例子来描述一下吗?

22得票6回答
我该如何继承IDisposable?

为保护当事人的隐私,类名已更改。 如果我有一个名为 ISomeInterface 的接口,并且我有两个继承该接口的类,FirstClass 和 SecondClass。其中 FirstClass 使用必须被处理的资源,而 SecondClass 则不需要。 问题是,我应该从哪里继承 IDi...

13得票2回答
在Rails应用程序中使用模块的模型

我有一个模型需要从外部数据源加载数据。存在许多Web服务,我的模型可以从这些服务中获取数据(可交换),但我不想创建难以更改服务的代码(基于可变和固定使用的成本显著不同,并且很可能需要进行更改)。 我想创建一个驱动程序来执行交互操作,然后如果需要切换服务,再创建进一步的自定义驱动程序。不幸的是...

12得票10回答
松耦合与信息隐藏以及易于更改

我正在阅读 Steve McConell 的《代码大全》,他在松散耦合的一节中给出了一个例子,它涉及到一个计算员工假期天数的方法接口,该方法是基于员工入职日期和销售额来计算的。作者建议将入职日期和销售额作为方法的参数而不是使用员工实例:int holidays(Date entryDate, ...

11得票5回答
一个Python Web应用程序框架,用于紧密耦合数据库/图形用户界面?

我坚信后端和前端之间必须紧密耦合这个异端的想法:我希望现有的、隐含的关于后端的知识能够在生成用户界面时自动利用。例如,如果一个VARCHAR列有一个最大长度为20个字符,那么GUI应该自动限制用户在相关表单字段中输入超过20个字符。 而且我非常反感想要定义我的数据库表或基于某些技巧的ORM,...