《设计模式解析》第二部分 传统面向对象设计的局限性

翻译 2007年10月08日 15:46:00

第二部分

传统面向对象设计的局限性

部分概述

       在这一部分,我使用标准面向对象方法解决一个真实世界中的问题。这是我在刚开始学习设计模式时所钻研的一个问题。

讨论的主题

3

l     描述CAD/CAM问题:从一个大型计算机辅助设计/计算机辅助制造(CAD/CAM)数据库析取信息去侍服一个复杂昂贵的分析程序。

l     因为CAD/CAM系统持续演化,这个问题迫切需要灵活的代码。

4

l     我对CAD/CAM问题的第一个解决方案,使用标准的面向对象方法。

l     在实际研究这个问题的时候,我还没有领悟众多设计模式背后的原则的精髓。这导致一个过分依赖继承的初始方案。它很容易设计且能够运作,但却因一些特殊情况而结束。

l     我的方案有重大的问题——难以维护而且不灵活——这恰恰是使用面向对象设计想要避免的事情。

l     后来,在第四部分,第12章,“使用模式来解决CAD/CAM问题”,我将重新审视这个问题。我将使用设计模式精心搭建该应用程序的构架以及其实现细节,来解决这个问题。通过这样做,我创造了一个更加容易维护的方案,并且灵活的多。

       这一部分的阅读很重要。因为它举例说明了一个传统面向对象设计所导致的问题——不必要的高继承层次,高耦合、低内聚。

 

面向对象的设计模式(六),状态模式

我们是否在写程序的过程中有过在一个类中写了很多状态,是否需要根据该对象的不同状态决定该对象的不同行为的可用性,如:我们Android中自定义一个上拉加载更多,下拉刷新的PullRefreshListV...
  • ydxlt
  • ydxlt
  • 2015年12月31日 13:52
  • 6664

面向对象开发与面向对象设计模式的几个核心的思想和概念 -java

>>>> 面向对象开发的几个核心思想 1、问题领域、对象、属性、状态、行为、方法、实现 问题领域:   指软件系统所模拟的真实世界中的系统,在现实生活中,比较常见的比如,税收、社保、银行、商...
  • ShareUs
  • ShareUs
  • 2016年03月21日 17:10
  • 2580

面向对象设计思想与常见设计模式小结

面向对象思想设计原则 单一职责原则 开闭原则 里氏替换原则 依赖注入原则 接口分离原则 迪米特原则 设计模式的分类 简单工厂模式 简单工厂模式概述 工厂方法模式 工厂方法模式概述 单例设计模式 单例设...
  • lutianfeiml
  • lutianfeiml
  • 2016年09月05日 16:55
  • 1464

Java面向对象设计模式

设计模式(Design Patterns)                                   ——可复用面向对象软件的基础       设计模式(Design pattern)是...
  • u011814346
  • u011814346
  • 2017年05月02日 14:17
  • 602

5本最佳的Java面向对象理论和设计模式的书籍

对于Java程序员来说,掌握面向对象的设计理论和一些设计模式是必备技能。就像我在另一篇博客Java程序员应该知道的10个面向对象理论中提到的,不学理论就开始编程,就类似于学习一种语言而不学习字母表。市...
  • wuzhoudao
  • wuzhoudao
  • 2015年12月26日 09:47
  • 1409

面向对象之设计模式

面向对象之设计模式前言 要想推开架构师的那扇大门,就离不开设计模式这把钥匙。对设计模式的理解与精通,是通往架构师之路的第一步 在任何面向对象语言的开发过程以及个人职业技能成长的道路中,新手与新手或者新...
  • u013263917
  • u013263917
  • 2016年11月22日 23:15
  • 661

设计模式必须通过面向对象来实现吗?

前些天发了一篇《如此理解面向对象编程》的文章,然后引起了大家的热议。然后我在微博上说了一句——“那23个经典的设计模式和OO半毛钱关系没有,只不过人家用OO来实现罢了……OO的设计模式思想和Unix的...
  • ghostyusheng
  • ghostyusheng
  • 2016年03月07日 11:18
  • 558

面向对象的设计模式(九),适配器模式

记得刚学Java SE的AWT(新版Swing)编程的时候,那个时候自己特别兴奋,因为学了那么久的Java了,没看到一点实在点的东西,觉得很没有成就感。后来学到Swing的时候,用它编写图形化界面,于...
  • ydxlt
  • ydxlt
  • 2016年01月03日 14:38
  • 13123

C++设计模式<二>:面向对象设计原则

面向对象设计变化是复用的天敌,而面向对象设计的最大优势就是抵御变化面向对象设计原则1.依赖倒置关系(DIP) 高层模块(稳定)不应该依赖于底层模块(变化),二者都应该依赖于抽象(稳定) ...
  • MonroeD
  • MonroeD
  • 2016年04月07日 15:46
  • 697

设计模式之面向对象七大基本原则

PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN。因为CSDN也支持MarkDown语法了,牛逼啊!概述在运用面向对象的思想进行软件设计时,需要遵循的原则一共有7个,他...
  • yanbober
  • yanbober
  • 2015年04月27日 16:25
  • 5961
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《设计模式解析》第二部分 传统面向对象设计的局限性
举报原因:
原因补充:

(最多只允许输入30个字)