摘要:
今天被一个女同学提出,我的用例图的extend画的方向反了。。。。。想了一下,焕然大悟,我那时候上UML建模课的时候就跟全班同学强调过这个问题。。。现在自己却犯错了。。。。 阅读全文
随笔分类 - Object-Oriented
看着这个实例,一起来学重构吧!
2010-08-17 18:54 by Aga.J, 2143 阅读, 收藏,
摘要:
浏览jake的blog时看到这样一篇文章30 Days of .NET [Windows Mobile Applications] - Day 01: Minutes to Midnight Countdown(午夜倒数器),题目非常吸引人,我点了进去,看到原来这是jake翻译一个叫Chris Craft的人的系列文章,看完了jake这篇文章后,我也去了Chris Craft的blog看了这篇原文,下载了源代码,代码很简单,就一个timer_Tick的函数把所有程序逻辑都搞清楚了,就是计算我们离今天的结束还有多少小时,多少分钟,多少秒,然后一个一个的列举在form上。下面就是timer_Ti. 阅读全文
Head First Object-Oriented Design and Analysis学习笔记(十)
2010-08-05 18:52 by Aga.J, 1387 阅读, 收藏,
摘要:
第十章The ood&a lifecyclePutting It All Together前言:这一章是对全书的总结,把我们所有学到的东西都应用到一个程序的开发生命周期上,然读者可以更清晰地看到每个知识的应用场景,同时也梳理了知识体系。案例分析:书里已经在各个章节不同程度上的使用了OO分析与设计的开发方法和技巧,现在就举出一个例子来集合所有知识。案例描述:系统名为Objectvile Travel RouteFinder,目的是为了提供给旅游者一种更容易的方式来观赏Objectvile的景色。RouteFinder可以保存整个Objectvile的network of subway l 阅读全文
Head First Object-Oriented Design and Analysis学习笔记(九)
2010-08-03 20:00 by Aga.J, 322 阅读, 收藏,
摘要:
第九章Iterating and testingThe Software is Still for the Customer前言: 看到题目的iterating,就让我想起RUP中的迭代开发,这一章同样告诉我们,软件项目需要迭代,同时题目中也说到了test,而文章中就是在迭代过程中进行了测试,看了这也符合了RUP的过程质量保证。案例分析:案例描述:经过一段时间的分析后,客户并没有看到他们想看到的东西。单靠设计阶段的产物,并不能满足客户的要求---看到实际运行的东西。问题提出:1 我们怎样来满足现阶段客户的要求问题解决:1 使用迭代的方式来开发我们的程序,在前面的分析基础之上,继续iterate 阅读全文
Head First Object-Oriented Design and Analysis 学习笔记(八)
2010-08-02 18:35 by Aga.J, 1280 阅读, 收藏,
摘要:
第八章Design PrinciplesOriginality is Overrated前言: 这一章主要是给我们介绍了几个常用而且有效的design principle,前面我们已经学到(1)把多变的部分封装起来(2)面向接口编程而不是实现(3)每个类有且仅有一个原因去改变(4)类是关于行为和功能的,而不是属性上的差异案例分析:案例描述:问题提出:1 design principle问题解决:1 The Open-Closed Principle(OCP—老师说过) 最经典的说法就是open for extension, and closed for modification,新的功能不是通 阅读全文
Head First Object-Oriented Design and Analysis学习笔记(七)
2010-08-02 00:26 by Aga.J, 326 阅读, 收藏,
摘要:
第七章ArchitectureBringing Order to Chaos前言:这一章继续上一章的内容,在得到上一章的需求分析和基本模块划分后,我们要怎样去对其中的小问题进行逐个击破,从哪一个开始?本章给了我们这样的思路案例分析:案例描述:问题提出:1面对那么多的需求和分析材料,我们应该从哪里入手来进行我们的系统设计呢?2 那么我们怎么从需求材料中找出系统最重要的功能呢?3 缩小了范围,得到了3个可以开始着手的东西,但是又要对哪个先呢?4 解决了第一个,然后接下来呢?问题解决:1 这里使用的方法论还是和以前一样(三部曲:1 make sure your software does what 阅读全文
Head First Object-Oriented Design and Analysis学习笔记(六)
2010-07-31 23:28 by Aga.J, 394 阅读, 收藏,
摘要:
第六章Solving really big problems“My Name is Art Vandelay… I am an Architect”前言:这一章带着我们一步一步地去分析一个big problem,介绍了其他分析设计的工具,例如domain analysis,use case diagrams等。基本过程:Gathering features, Domain analysis, Breaking system into modules, Figuring out system use the MVC pattern案例分析:案例描述:现在我们要开发一个游戏框架,客户的基本描述是这 阅读全文
First Head Object-Oriented Design and Analysis学习笔记(五)之下
2010-07-28 23:22 by Aga.J, 281 阅读, 收藏,
摘要:
第五章(Part 2)Good design=flexible softwareGive your software a 30-minute workout前言:继续第五章Part 1留下来的问题,我们尝试解决前面吉他系统的可拓展性不足的问题。案例分析:案例描述:第五章中我们发现(1)每次增加一个Instrument类的子类时,我们就必须修改Inventory类的addInstrument函数,因为其实现是通过判断传进来的参数是否是某个具体类的instance来完成初始化操作的(2)在Inventory类里有两个根据不同乐器具体类的search函数(3)使用了继承的方式,完成了Guitar和M 阅读全文
Head First Object-Oriented Design and Analysis学习笔记(五)之上
2010-07-26 22:13 by Aga.J, 476 阅读, 收藏,
摘要:
第五章(重点,精华)Part 1Good design = flexible softwareNothing Ever Stays The Same前言:这一章彻底的展示出好的设计对于项目的改变的适应性,相比较而言,对于普通的设计,某个地方的改变可能会给项目带来巨大的修改(灾难),这一章回到了吉他的那个例子,向我们展示客户需求变化引起系统功能变化对整个系统的改变,以及给出了十分有弹性的解决方案。案例分析:案例描述:吉他店的老板想在吉他店里卖其他乐器—曼陀林,要求对这个销售吉他的程序进行修改问题提出:1 根据先前的设计,如下图,怎么做出改变来达到客户要求?问题解决:1 我们很容易就会想到吉他和曼 阅读全文
Head First Object-Oriented Design and Analysis学习笔记(四)
2010-07-24 12:54 by Aga.J, 359 阅读, 收藏,
摘要:
第四章AnalysisTaking your software into the real world前言:案例分析:案例描述: 第三章也解决了客户的需求问题,但是当程序在现实环境中运行时,问题出现了,其他的狗的叫声也能使得这个门自己打开。。。问题提出:1 让门可以根据自家狗的叫声开门给它问题解决:1 根据错误更新我们的use case,并且要检查更新时是否会衍生出新的use case,因为每个use case只可以解决某个目标,而如果更新后多了其他目标,那么就要把那些内容独立出来作为一个新use case,书里面的解决方法是,从use case的更新过程中发现一个新的use case,Rec 阅读全文
Head First Object-Oriented Design and Analysis学习笔记(三)
2010-07-23 20:32 by Aga.J, 305 阅读, 收藏,
摘要:
第三章Requirements changeI Love You, You are Perfect….Now Change前言: 这一章在第二章的案例基础上,向我们展示了客户需求的变化,以及其变化对我们的软件系统带来的影响和我们怎样应付这些变化,这一章讲的是需求的变化,但是题目是取得有点大了,它只介绍了需求在项目完成后的变化,而且也没有很详细的介绍怎样回避需求变化的风险和需求变化的发生情况等等案例分析:案例描述: 前面的doug’s dog door的使用者发现,每次都要他们来完成dog door的打开操作太麻烦了,所以他们想dog door能在狗每次叫的时候自己打开。(这是用户的需求变化)问 阅读全文
Head First Object-Oriented Design and Analysis学习笔记(二)
2010-07-23 20:25 by Aga.J, 318 阅读, 收藏,
摘要:
第二章Gather requirementsGive Them What They Want前言: 本章仍然使用一个例子来说明本章主题—挖掘用户需求,介绍了如何一步一步挖掘用户需求和需求的文档化。案例分析:案例描述: Doug’s dog door,一个可以让用户开启狗门的系统,用户给出的功能性需求很少,只是说到晚上狗在叫时要开门让狗出去。初步设计为Public class DogDoor{ Private Boolean open; Public DogDoor(){ This.open=false;}Public void open(){ System.out.println(“The d 阅读全文
Head First Object-Oriented Analysis and Design学习笔记(一)
2010-07-22 22:46 by Aga.J, 1424 阅读, 收藏,
摘要:
最近在看《Head First Object-Oriented Analysis and Design》,就做下笔记吧,不知道为什么自己很喜欢OOAD的书,也很喜欢做这样的工作,希望也喜欢OOAD的朋友可以和我聊聊吧第一章Well-designed apps rockGreat Software Begins Here这一章使用了一个例子来逐步引导读者进入面向对象设计的世界,例子从一开始的臃肿,复杂,不灵活,通过一步一步的面向对象分析设计的过程,到达一个可拓展,对象松散耦合,有弹性的程序。案例分析,吉他店需要一个系统来帮助完成吉他搜索。Guitar{private: //属性。。。Publi. 阅读全文
浙公网安备 33010602011771号