Language agnostic 如何识别什么不是类?
我知道经验法则是,用户使用的名词可能是一个类。同样,一个动词也可以变成一个动作类,例如谓词 根据用户的描述,您如何-Language agnostic 如何识别什么不是类?,language-agnostic,oop,Language Agnostic,Oop,我知道经验法则是,用户使用的名词可能是一个类。同样,一个动词也可以变成一个动作类,例如谓词 根据用户的描述,您如何- 确定哪些内容不可编入类 规则很简单 一切都是对象 所有对象都属于类 在极少数(非常罕见的情况下)会出现一些特殊的类/对象混淆 所有静态方法的“库”。这是一个实现选择,没有用户可以看到这一点 一个单例,其中给定类只能有一个对象。这种情况有时确实会发生 规则很简单 一切都是对象 所有对象都属于类 在极少数(非常罕见的情况下)会出现一些特殊的类/对象混淆 所有静态方法的“库”
- 确定哪些内容不可编入类
- 规则很简单
- 一切都是对象
- 所有对象都属于类
- 所有静态方法的“库”。这是一个实现选择,没有用户可以看到这一点
- 一个单例,其中给定类只能有一个对象。这种情况有时确实会发生 规则很简单
- 一切都是对象
- 所有对象都属于类
- 所有静态方法的“库”。这是一个实现选择,没有用户可以看到这一点
- 一个单例,其中给定类只能有一个对象。这种情况有时确实会发生
- 单个模块/组件的内聚性是指其职责构成有意义单元的程度;内聚度越高越好李>
- 模块/组件之间的耦合是它们相互依赖的程度;耦合度越低越好李>
- 单个模块/组件的内聚性是指其职责构成有意义单元的程度;内聚度越高越好李>
- 模块/组件之间的耦合是它们相互依赖的程度;耦合度越低越好李>
唯一真正的答案是经验。然而,很明显,有些东西(无论如何,对我来说)无法在您的设计中建模。例如,如果用例说: “然后包裹被放在UPS货车上” 没有必要对货车建模。你可以通过考虑系统边界来做出这样的决定——你不能也不能控制货车。但是, “我们向UPS提出取货请求”
很可能会导致一个更高的目标。唯一真正的答案是经验。然而,很明显,有些东西(无论如何,对我来说)无法在您的设计中建模。例如,如果用例说: “然后包裹被放在UPS货车上” 没有必要对货车建模。你可以通过考虑系统边界来做出这样的决定——你不能也不能控制货车。但是, “我们向UPS提出取货请求”
很可能会导致对象升级。在OO语言中,这不是一个将什么放入类的问题,而是“这个数据/功能进入哪个类?” 与其他软件架构方面一样,也有规则,但归根结底,这是一门需要经验的艺术。有很多关于软件设计的书,但是有一个简单的参考