我们看过许许多设计模式的理论,实际工作过程中也或多或少的使用过设计模式,不同类型设计模式适用于不同的应用场合,但如果设计模式使用不当,不但无法帮助产品提升,反而会导致日后的重蹈覆辙。因此,我们有必要了解在日常工作中经常错误使用模式的场合,通常将这些内容称之为反面模式(anti-pattern)。
反模式(anti-pattern)是指在实践中经常出现,会导致效率低下的有待优化的设计模式。反面模式的类型多种多样,其中包含项目管理、团队管理、分析方式、编程、方法学、测试、配置管理等多个方面,今天主要介绍面向对象设计过程中常见反面模式:
1.基类(BaseBean):继承一个工具类,而不是代理它
这种对象设计错误在开发过程中是非常常见的,通常造成这种设计错误是为了使用方便,继承一个工具类,可以非常方便的在对象中使用工具类提供的方法,但这种设计会造成了对象意义混乱,通常只有在分类学角度上具有意义时,才使用继承,从里氏替换原则考虑,一个工具类必定有自己特定的行为特征,一个封装了逻辑的对象,不可能是工具类型的一中,因此,不要从工具类继承,如果要使用或者扩展工具类服务,使用