标签: ooad

什么时候应该在C++中使用类vs结构?

在什么情况下在C++中使用structvs a 更好class

c++ oop struct ooad class

895
推荐指数
15
解决办法
38万
查看次数

内聚与耦合的区别

内聚和耦合有什么区别?

耦合和内聚如何导致软件设计的好坏?

有哪些例子可以概述两者之间的差异,以及它们对整体代码质量的影响?

oop ooad

447
推荐指数
9
解决办法
28万
查看次数

什么是反模式?

我正在研究模式和反模式.我对模式有一个清晰的认识,但我没有反模式.网络和维基百科的定义让我很困惑.

任何人都可以用简单的词语向我解释反模式是什么?什么目的?他们在做什么?这是坏事还是好事?

ooad design-patterns terminology anti-patterns

175
推荐指数
10
解决办法
6万
查看次数

构造函数与工厂方法

建模类时,首选的首选方法是什么:

  1. 构造者,或
  2. 工厂方法

使用其中任何一个会有什么考虑因素?

在某些情况下,我更喜欢有一个工厂方法,如果无法构造对象,则返回null.这使代码整洁.在执行替代操作之前,我可以简单地检查返回的值是否为null,与从构造函数中抛出异常相反.(我个人不喜欢例外)

比如说,我在类上有一个构造函数,它需要一个id值.构造函数使用此值从数据库填充类.如果不存在具有指定标识的记录,则构造函数将抛出RecordNotFoundException.在这种情况下,我将不得不在try..catch块中包含所有这些类的构造.

与此相反,我可以在这些类上有一个静态工厂方法,如果找不到记录,它将返回null.

在这种情况下,哪种方法更好,构造函数或工厂方法?

oop ooad

172
推荐指数
9
解决办法
7万
查看次数

抽象VS信息隐藏VS封装

你能告诉我在软件开发中抽象信息隐藏有什么区别吗?

我很迷惑.抽象隐藏了细节实现和信息隐藏抽象的东西的整个细节.

更新:我找到了这三个概念的好答案.请参见下面的单独答案从采取了一些引文出现.

glossary encapsulation ooad abstraction information-hiding

161
推荐指数
6
解决办法
14万
查看次数

"低耦合和高内聚"意味着什么

我在理解声明时遇到了问题low in coupling and high in cohesion.我用Google搜索并阅读了很多相关信息,但仍然难以理解.

根据我的理解High cohesion,我们应该拥有专门用于执行特定功能的类.希望这是正确的吗?就像信用卡验证类一样,专门用于验证信用卡.

还是不明白低耦合意味着什么?

oop ooad

135
推荐指数
10
解决办法
13万
查看次数

"程序接口,而非实现"是什么意思?

在阅读有关设计模式时,人们会发现这句话.

但是我不明白,有人可以帮我解释一下吗?

oop ooad design-patterns interface software-design

119
推荐指数
6
解决办法
4万
查看次数

为什么我们使用Interface?它只适用于标准化吗?

为什么我们使用Interface?

它只适用于标准化吗?

oop ooad interface

79
推荐指数
3
解决办法
5万
查看次数

耦合和凝聚力

我试图将耦合和内聚的概念归结为简洁的定义.有人可以给我一个简短易懂的解释(比这里这里维基百科的定义更短)?他们如何互动?

谢谢.

有人有一个好的,简短的例子吗?

architecture theory oop ooad

66
推荐指数
4
解决办法
4万
查看次数

如何使用CRC卡精心设计?

我一直想知道人们如何使用CRC(类责任合作)卡.我在书中读到过它们,在互联网上发现了模糊的信息,但从未真正掌握过它.我认为有人应该制作一个显示CRC卡会话的YouTube视频,因为我的一本书描述它很难用文字表达,它应该"由已经掌握它的人教授".可悲的是,我知道周围没有人使用CRC卡,我想了解更多.

UPDATE

任何链接到视频,显示人们用这种技术进行阐述,将不胜感激.

oop ooad crc-cards

29
推荐指数
5
解决办法
4728
查看次数