混淆与设计模式“抽象”的概念

时间:2013-02-03 14:49:18

标签: design-patterns

我正在学习设计模式,我来到这个PDF

在幻灯片12中,它表示以下3条规则:

  1. 任何变量都不应该包含对具体类的引用
  2. 任何课程都不应来自具体课程
  3. 没有方法应该覆盖其基类的实现方法
  4. 现在假设我有一个抽象的类说“A”。然后,我有3个应该实现这个抽象类的具体类,它们是类“B”,“C”,“D”。问题是D是C的特例.D只有一个实例变量。

    我的问题是,

    • 首先,是保证良好的黄金法则的3条规则 设计
    • 其次,如果“D”扩展“C”并覆盖,可能会出现什么问题 “C”方法增加更多行为

1 个答案:

答案 0 :(得分:0)

如果你开始在图表中添加子类型,那么抽象当然会变弱。为什么?因为人们必须学习更多,并且所需要的足迹扩大。也就是说,可能会有一些有效的案例,尽管我在工厂的情况下很难看到它们。直接回答你的问题的一种可能性是使用Decorator,因为它或多或少地保留了抽象,但是某些功能中的层没有提供。