面向对象的分析与设计
DaLuanXiangYu
这个作者很懒,什么都没留下…
展开
-
面向接口编程详解(一)——思想基础
我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文将一一解答这些疑问。1.面向接口编程和面向对象编程是什么关系首先,面向接口编程和面向对象编程并不是平级转载 2010-05-26 16:09:00 · 406 阅读 · 0 评论 -
OO真经——关于面向对象的哲学体系及科学体系的探讨(上)
目录 Catelog 目录 Catelog 序言 Perface 真经第一章:世界 Waltanschauung 真经第二章:抽象 Abstraction 真经转载 2010-05-26 16:35:00 · 590 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(六、迭代式开发与用例驱动)
再次明晰开发流程 在上一篇文章“OOA&D实践之路——真实案例解析OO理论与实践(五、需求分析之前的故事)”中,我给出了一幅开发流程图: 这幅图,加上前几篇文章的内容,给不少朋友留下诸多困惑。如“特性列表不算需求分析吗?”、“用例图怎么跑到需求分析前面去了?没有需求分析哪来的用例图?”为了解开这些困惑,我们应该先把开发流程各个相关概念给明确了。 在一般开发流程转载 2010-05-26 16:29:00 · 584 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(五、需求分析之前的故事)
高质量软件的第一要素 到目前为止,我们做了很多工作,但是我一直在强调这些都还不是需求分析。在很多人心目中,软件开发的第一件事就是先做需求分析。那么我们为什么不这样做呢?这牵扯到一个关键的问题:我们都希望开发高质量的软件,而本系列文章的重点也是如何通过OO实践开发高质量软件,那么什么是高质量软件? 对于这个问题,也许很多人会说,是灵活的、是易于修改和扩展的、是可维护性高的、是用户转载 2010-05-26 16:28:00 · 446 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(二、第一项任务:特性列表)
第一份说明 当这个项目开始时,我们得到的关于我们要做的系统的唯一说明是一页Word文档,这是一份简单的不能再简单的说明。文档里只有一行字:我们需要一个系统,使得全国各地的代理加盟商和连锁店能够通过网络订购原料。另外,我们还知道这是一个食品公司,主营面包、麻花、肉夹馍等食品,在全国各地有多家连锁机构。除此之外,我们一无所知。永远不要和客户谈需求 软件开发的第一步是什么?很多人觉得转载 2010-05-26 16:24:00 · 387 阅读 · 0 评论 -
面向接口编程详解(二)——编程实例
定义:现在我们要开发一个应用,模拟移动存储设备的读写,即计算机与U盘、MP3、移动硬盘等设备进行数据交换。上下文(环境):已知要实现U盘、MP3播放器、移动硬盘三种移动存储设备,要求计算机能同这三种设备进行数据交换,并且以后可能会有新的第三方的移动存储设备,所以计算机必须有扩展性,能与目前未知而以后可能会出现的存储设备进行数据交换。各个存储设备间读、写的实现方法不同,U盘和移动硬盘只有这两个方转载 2010-05-26 16:10:00 · 377 阅读 · 0 评论 -
依赖注入那些事儿
写在前面的话昨天在博客园上看到一篇博文,名为“什么是依赖注入?(来听一个笑话)”[点击这里访问]。可以看出,作者是想以一种轻松幽默的方式对依赖注入的思想进行一个阐述。不过在读完文章后,个人觉得文章过于浅薄,没有真正将依赖注入的思想解释清楚,也没有深入的分析和具体的示例,所用比喻也有点低俗(至少笔者读完文章后觉得胃里不是很舒服)。但是,这篇博文启发了我。回想自己平常的学习和工作,依赖注入确实转载 2010-05-26 16:47:00 · 687 阅读 · 1 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(三、降低风险)
风险无处不在 在上一篇文章中,我们写出了一张特性列表。然后是不是就可以做需求分析了?很遗憾,还不可以,我们仍有许多工作要做。拿到特性列表后第一件事,就是要尽量降低风险。这里先不长篇大论风险如何如何,我们先做,从做的过程中体会降低风险的涵义。DRY 这里,首先要引入一个OO原则——DRY。 DRY原则,全称Dont Repeat Yourself,指:在系统中,每一个转载 2010-05-26 16:25:00 · 450 阅读 · 0 评论 -
例解基于UML的面向对象分析与设计
摘要 本文以实例的方式,展示了如何使用UML进行面向对象的分析与设计。本文将假设读者对UML、面向对象等领域的基本内容已了然于胸,所以将不会过多阐述,而将重点放在应用过程上。本文的目的是通过一个完整的实例,展现基于UML的OOA&D过程的一个简化模式,帮助朋友们更好的认识UML在OOA&D中起的作用。前言 经常听到有朋友抱怨,说学了UML不知该怎么用,或者画了UML却觉得没什么转载 2010-05-26 16:53:00 · 889 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(七、【第一轮迭代】需求分析与领域分析)
在前面,我们花了六篇文章的篇幅去讨论需求分析之前发生的事情,这些内容看起来枯燥或飘渺,但实际是为真正开始系统的分析、设计和实现进行的必要准备。从这篇开始,将正式进入系统的开发阶段。这一篇文章,将讨论第一轮迭代过程中的需求分析和领域分析环节。选取第一轮迭代要实现的特性 回顾前面章节,我们说到,“迭代与增量”和“用例驱动”是系统开发的两大法宝。另外,指出了如下几个要点:转载 2010-05-26 16:33:00 · 516 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(四、通览全局:避免过早陷入细节的泥沼)
细节的泥沼 现在我们再次将特性列表贴过来: 1.可以将各种原料信息发布到系统上 2.加盟商和连锁店可以使用购物车功能在线定料 3.加盟商和连锁店通过网络进行注册,管理员审核后才可以正式使用系统 4.系统需要一个管理员,可以对系统进行管理 5.定料完成后生成定料单,并可以打印 6.直属连锁店按原价定料,加盟商按照等级分为5级,每级转载 2010-05-26 16:27:00 · 456 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(一、导言)
为什么要写这个系列 “OO都是一个已经被讨论烂的话题了,还有什么可写的!” 不知当你看到文章标题时,是不是有这种疑问,或者鄙夷。不错,OO从诞生到现在经历了不短的岁月,与其相关的理论、技术、原则、实践、模式、语言已经出了一大堆。可是,你真的了解OO的本质吗?真的能挥洒自如的将OO应用于软件开发中吗?真的能发挥OO的能量,从而提高软件质量吗?如果对这三个问题,你不能很干脆的点头说转载 2010-05-26 16:23:00 · 449 阅读 · 0 评论 -
OO真经——关于面向对象的哲学体系及科学体系的探讨(中)
真经第六章——运作 Moving “运动是绝对的——牛顿”6.1、导言 在前五章中,我们从世界观的这话题开始,逐步引出了抽象、层次、继承和耦合。这些内容,形成了对象论中关于世界的结构体系。 然而,要想真正描述一个世界,仅有结构式不行的。开始我们说过,世界观主要关注两个方面:一是世界是什么样子的(结构),另一个就是世界时如何演进的(运作)。现在,我们来讨论对转载 2010-05-26 16:36:00 · 567 阅读 · 0 评论