|
|
1
40
似乎你要找的是 Principles of Object-Oriented Design . 从总结 Agile Software Development Principles, Patterns, and Practices . 这些原则是软件工程数十年经验的成果。它们不是单一思维的产物,但它们代表了大量软件开发人员和研究人员的整合和写作。虽然它们在这里被描述为面向对象设计的原则,但它们确实是软件工程中长期存在的原则的特例。 单一责任原则 一个类应该只有一个更改的原因。 开闭原理 软件实体(类、包、方法等)应打开进行扩展,但关闭进行修改。 李斯科夫子状态原理 子类型必须可替换为其基类型。 依赖倒置原理 抽象不应依赖于细节。细节应该依赖于upons抽象。 界面分离原理 客户机不应该被迫依赖于他们不使用的方法。接口属于客户端,而不是层次结构。 重复发布重用等效原则 重用的粒度就是发布的粒度。 共同封闭原则 包中的类应该针对相同的更改关闭在一起。影响已关闭包的更改会影响该包中的所有类,而不会影响其他包。 通用重用原则 包中的类一起重用。如果重用包中的某个类,则可以重用所有类。 酰基依赖性原理 在依赖关系图中不允许循环。 稳定依赖原则 取决于稳定的方向。 稳定抽象原理 包应该是抽象的,因为它是稳定的。 |
|
2
6
对任何规则都不确定。所有这些对我来说更像是OO范式。我们很少有这样的建议,
|
|
3
5
这些OO原则直接来自 Head First Design Patterns :
|
|
|
4
4
这些是概念,而不是规则。实际上没有规则,只是做决定,有些设计比其他更好,有些比其他更好。 虽然有很多指导原则:-有些语言是特定于语言的(C++中有很多),有些则是面向对象的。但列出的列表太多:-) 最重要的是:
有很多可以扩展和添加的:—) 编辑:我应该补充一点,您列出的规则对OO来说不是唯一的 |
|
|
5
4
根据实用主义程序员的说法,规则是:
|
|
|
simply lemon · python上链表的添加方法 1 年前 |
|
|
Anonymous · 为什么在这个例子中self和类名的用法不同? 2 年前 |
|
|
P N Singh · 在CPP Oops中调用对象而不创建它 2 年前 |
|
|
Muthuraj · 如何创建一个通用工厂来创建某种类型的实例[重复] 2 年前 |
|
|
Andy Votava · 从父类定义调用学生方法 2 年前 |