oo
文章平均质量分 71
calllmq
在路上
展开
-
OOA&D实践之路——真实案例解析OO理论与实践(四、通览全局:避免过早陷入细节的泥沼)
细节的泥沼 现在我们再次将特性列表贴过来: 1.可以将各种原料信息发布到系统上 2.加盟商和连锁店可以使用购物车功能在线定料 3.加盟商和连锁店通过网络进行注册,管理员审核后才可以正式使用系统 4.系统需要一个管理员,可以对系统进行管理 5.定料完成后生成定料单,并可以打印 6.直属连锁店按原价定转载 2012-02-29 15:47:43 · 710 阅读 · 0 评论 -
类与类关系的UML图与代码表现
原文地址 :http://www.uml.org.cn/oobject/200812191.asp这是一堂关于UML基础知识的补习课;现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了;本篇主要就以前自己一直感觉很迷糊的几种class之间的关系进行整理,让我们在真正用UML进行比如类图设计时能够更加清晰明了;以下就分别介绍这转载 2012-03-13 17:04:15 · 453 阅读 · 0 评论 -
面向对象设计原则-依赖倒置原则01
面向对象设计原则之四:依赖倒置原则依赖倒置原则 所谓依赖倒置原则(Dependence Inversion Principle )就是要依赖于抽象,不要依赖于具体。简单的说就是对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。 面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变化时,上层也要跟着变化,这就会导致模块的复用性降低而且大大提转载 2012-03-13 16:18:31 · 435 阅读 · 0 评论 -
面向对象设计原则-依赖倒置原则02
定义:抽象不应该依赖于细节。细节应该依赖于抽象。程序中所有的依赖关系都应该终止于抽象类和接口。针对接口而非实现编程。任何变量都不应该持有一个指向具体类的指针或引用。任何类都不应该从具体类派生。任何方法都不应该覆写他的任何基类中的已经实现了的方法。 说通俗一点就是,你抽象了一个类,这个类在这个工程中可以用,如果再做一个工程,移植过来还能用。遵循这一目的是为了代码的复用。不过这一条规则我觉得转载 2012-03-13 16:33:01 · 345 阅读 · 0 评论 -
设计模式 一 工厂模式(The Factory Pattern)
工厂模式有三种:简单工厂(simple factory)、工厂方法(factory method)、抽象工厂(abstract factory)。一、简单工厂(simple factory) 1、simple factory 模式的工厂类根据提供给他的参数,返回几个可能产品类中的一个类的实例。通常它返回的类都有一个公共的父类和公共的方法。 2、simpl原创 2012-03-09 11:45:58 · 743 阅读 · 0 评论 -
详解继承与组合的优缺点
组合与继承都是提高代码可重用性的手段。在设计对象模型时,可以按照语义来识别类之间的组合关系和继承关系。在有些情况下,采用组合关系或者继承关系能完成同样的任务,组合和继承存在着对应关系:组合中的整体类和继承中的子类对应,组合中的局部类和继承中的父类对应,如下图:组合:继承:一、基础知识我们先用代码帮大家来理解一下组合和继承:1、对于已经存在转载 2012-03-27 17:40:01 · 11928 阅读 · 1 评论 -
面向对象编程有三个特性:封装,继承,多态。
面向对象编程有三个特性:封装,继承,多态。这三个特性从低级到高级描述了面向对象的特征。一种语言只有同时具备这三种特性才能被称为面向对象的语言。VB中也有类,它的类也支持封装和简单的继承,但是它不支持所有的继承语义和多态,因此VB只能被称为基于对象的语言。一、封装 封装是所有抽象数据类型(ADT)的特性,很多刚刚接触面向对象的人认为封装就是就是面向对象。原创 2012-03-27 16:07:32 · 4179 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(三、降低风险)
风险无处不在 在上一篇文章中,我们写出了一张特性列表。然后是不是就可以做需求分析了?很遗憾,还不可以,我们仍有许多工作要做。拿到特性列表后第一件事,就是要尽量降低风险。这里先不长篇大论风险如何如何,我们先做,从做的过程中体会降低风险的涵义。DRY 这里,首先要引入一个OO原则——DRY。 DRY原则,全称Don't Repeat Yoursel转载 2012-02-29 15:41:03 · 1221 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(五、需求分析之前的故事)
高质量软件的第一要素 到目前为止,我们做了很多工作,但是我一直在强调这些都还不是需求分析。在很多人心目中,软件开发的第一件事就是先做需求分析。那么我们为什么不这样做呢?这牵扯到一个关键的问题:我们都希望开发高质量的软件,而本系列文章的重点也是如何通过OO实践开发高质量软件,那么什么是高质量软件? 对于这个问题,也许很多人会说,是灵活的、是易于修改和扩展的、是可维护性高的转载 2012-02-29 15:55:24 · 818 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(六、迭代式开发与用例驱动)
再次明晰开发流程 在上一篇文章“OOA&D实践之路——真实案例解析OO理论与实践(五、需求分析之前的故事)”中,我给出了一幅开发流程图: 这幅图,加上前几篇文章的内容,给不少朋友留下诸多困惑。如“特性列表不算需求分析吗?”、“用例图怎么跑到需求分析前面去了?没有需求分析哪来的用例图?”为了解开这些困惑,我们应该先把开发流程各个相关概念给明确了。 在一般转载 2012-02-29 16:08:43 · 652 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(一、导言)
为什么要写这个系列 “OO都是一个已经被讨论烂的话题了,还有什么可写的!” 不知当你看到文章标题时,是不是有这种疑问,或者鄙夷。不错,OO从诞生到现在经历了不短的岁月,与其相关的理论、技术、原则、实践、模式、语言已经出了一大堆。可是,你真的了解OO的本质吗?真的能挥洒自如的将OO应用于软件开发中吗?真的能发挥OO的能量,从而提高软件质量吗?如果对这三个问题,你不能很干脆转载 2012-02-29 15:32:24 · 720 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(二、第一项任务:特性列表)
第一份说明 当这个项目开始时,我们得到的关于我们要做的系统的唯一说明是一页Word文档,这是一份简单的不能再简单的说明。文档里只有一行字:我们需要一个系统,使得全国各地的代理加盟商和连锁店能够通过网络订购原料。另外,我们还知道这是一个食品公司,主营面包、麻花、肉夹馍等食品,在全国各地有多家连锁机构。除此之外,我们一无所知。永远不要和客户谈需求 软件开发的第一步是转载 2012-02-29 15:34:01 · 858 阅读 · 0 评论 -
OOA&D实践之路——真实案例解析OO理论与实践(七、【第一轮迭代】需求分析与领域分析)
在前面,我们花了六篇文章的篇幅去讨论需求分析之前发生的事情,这些内容看起来枯燥或飘渺,但实际是为真正开始系统的分析、设计和实现进行的必要准备。从这篇开始,将正式进入系统的开发阶段。这一篇文章,将讨论第一轮迭代过程中的需求分析和领域分析环节。选取第一轮迭代要实现的特性 回顾前面章节,我们说到,“迭代与增量”和“用例驱动”是系统开发的两大法宝。另外,指出了如下几个要点:转载 2012-02-29 16:31:56 · 702 阅读 · 0 评论 -
正确认识使用UML中的类图——辨析类图的两种存在形式
摘要 本文通过对一个“学生选课系统”示例的简要分析与设计,说明UML图之一类图的两种作用及存在形式,以期借此澄清有些朋友可能对类图存在的误解与困惑。前言 在OOA与OOD大行其道的今天,UML在系统分析与设计中得到了广泛的采用。而在UML的9种图中,类图是最重要也是使用最普遍的图之一。但是,在与一些朋友,特别是初学者的聊天当中,我发现很多朋友对类图的作用及使用方转载 2012-02-29 17:15:30 · 609 阅读 · 0 评论 -
例解基于UML的面向对象分析与设计
例解基于UML的面向对象分析与设计摘要 本文以实例的方式,展示了如何使用UML进行面向对象的分析与设计。本文将假设读者对UML、面向对象等领域的基本内容已了然于胸,所以将不会过多阐述,而将重点放在应用过程上。本文的目的是通过一个完整的实例,展现基于UML的OOA&D过程的一个简化模式,帮助朋友们更好的认识UML在OOA&D中起的作用。前言 经常听到有朋友转载 2012-02-29 17:14:21 · 490 阅读 · 0 评论 -
设计模式 一 单例模式Singleton
/** * 单例模式,顾名思义强调的是单一,只有一个实例,而且自行实例化并向整个系统提供这个实例。 * * 创建型模式 * 条件3点 * 1、需要一个静态变量,保存类的唯一实例。 * 2、需要一个公共静态方法,返回唯一实例的一个引用。 * 3、构造函数(__construct)、克隆函数(__clone)私有化,从而防止外部程序 new 类,从而失去单例模式的意义。 * * 优点原创 2012-03-13 10:47:00 · 1087 阅读 · 0 评论