`
文章列表
迭代、进化、敏捷 1、相对于“瀑布”生命周期,迭代和进化式开发对部分系统及早地引入了编程和测试,并重复这一循环。这种方式通常在还没有详细定义所有需求的情况下假设开发开始,同时使用反馈来明确和改进演化中的 ...
模式与原则 最近看了一些模式和方法论的东西。 在这五十多种模式中,不少都是在开发过程中,我们经常用的,虽然我们不知道这种做法应该叫什么模式。 但是大部分,是需要我们在编码中有意识地去实践的。 以模式指导实践,是软件工程的一个好习惯,无论是架构模式,设计模式,还是成例模式。 说起“原则”这两个字,可以扯一点。 原则组成了我们的人生观。 原则是“本”,本立而道生。 如果说人生是一幅画,那么画法就是我们的原则。 原则要坚持,但是知易行难。 心里明明知道那是对的,可是偏偏做不到。 孔爷爷说,三十而立,立什么呢? 我想应该是立“本”,立原则。 编程中,变 ...
状态模式和策略模式的比较 状态模式(state pattern)和策略模式(strategy pattern) 的实现方法非常类似,都是利用多态把一些操作分配到一组相关的简单的类中,因此很多人认为这两种模式实际上是相同的。 然而在现实世界中,策略(如促销一种商品的策略)和状态(如同一个按钮来控制一个电梯的状态,又如手机界面中一个按钮来控制手机)是两种完全不同的思想。当我们对状态和策略进行建模时,这种差异会导致完全不同的问题。例如,对状态进行建模时,状态迁移是一个核心内容;然而,在选择策略时,迁移与此毫无关系。另外,策略模式允许一个客户选择或提供一种策略,而这种思想在状态模式中完全没有。 ...

简单工厂模式

 
简单工厂模式 1、简单工厂模式,是类的创建模式。 2、工厂模式负责将大量有共同接口的对象实例化。包括三种类型: 简单工厂模式,又叫静态工厂方法模式。 工厂方法模式,又叫多态性工厂模式。 抽象工厂模式,又称工具箱模式。 3、简单工厂模式的角色: 工厂类角色:简单工厂模式的核心,含有与应用相关的业务逻辑。在客户端调用下创建产品对象,往往由一个JAVA类实现。 抽象产品角色:工厂方法模式所创建的类的父类或他们共同的接口,由一个JAVA接口或抽象类实现。 具体产品角色:工厂方法模式所创建的类都是这个角色的实例。 工厂根据参数决定创建哪一种产品类的实例。 4、如果具体类彼此之间没有共同的业务逻辑 ...
设计模式之Visitor 板桥里人 http://www.jdon.com 2002/05/05(转载请保留) Visitor访问者模式定义 作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作. 在Java中,Visitor模式实 ...
什么是领域模型 领域模型是对领域内概念类或现实世界中对象的可视化表示。 概念类:思想、事务或对象。 概念类包括三个方面:符号、内涵、外延。 为什么要建立领域模型? 原因:降低与OO建模之间表示的差异。领域层软件类的名称要来源于领域模型中的名称,使对象有源于领域的信息和职责。 如何创建领域模型: 1、创建概念类。 2、将其描述为UML中的类 3、添加关联和属性
面向对象分析和设计 1、了解面向对象语言是必要的,但不是首要的,了解“面向对象思想”才是关键。 2、UML只是标准的图形表示法。常用的表示法是有用的,但更重要的是面向对象的内容值得学习,尤其是如何利用对象进行思考。 3、UML只是图形表示法,不是OOA/D,也不是方法。如果没有掌握如何创建优秀的面向对象设计,或者如何评估和改进现有设计,那么学习UML或者UML工具是毫无意义的。 4、对象思想才是重点和难点。 5、为对象分配职责、对象间如何协作、什么对象做什么事情,是系统设计的关键问题。 6、OO经典设计-职责驱动设计(responsibility driven design)。 ...
四色原则 1、设计模式是设计上的重用,框架是更大粒度上的重用。 2、原型:人类组织、总结、概括客观世界的基本概念。 3、业务原型是对业务领域中的原型。是对不同业务需求中的共同之处的抽象和概括。 4、一个业务原型应该是一个在业务领域或商业软件系统持续发生并且普遍存在的最初级的事物。 5、原型之间是相互交互的,Party, Product, 和 Order是每个虚拟商业系统的基本概念,在这个商业系统中,你可以卖产品或服务。我们将这些原型之间的协作看成是业务原型模式(business archetype patterns)。 6、业务原型模式business archetype patt ...
刘小备如何做项目-关于生命周期模型 进行完软件估计后,刘小备开始启动下一阶段的工作选择软件生命周期,可供软件生命周期模型这么多,有原型法、编码-修改法、传统瀑布、改进瀑布、增量、螺旋、RUP、XP,还有什么“ ...
经验之谈 一位创业老总的心得体会   我是05年4月份开始创业的,刚创业的时候,我们是在上海的一个偏僻的住宅小区租一间小房开始做起,刚开始做的时候是三个人。到现在,我们已经有了一百多平米的办公房,有20人的规 ...
软件工程过程和软件生存周期 http://se.csai.cn/PubCMM/200806230844021972.htm   许多计算机和软件科学家尝试,把其它工程领域中行之有效的工程学知识运用到软件开发工作中来。经过不断实践和总结,最后得出一个结论:按工程化的原则和方法组织软件开发工作是有效的,是摆脱软件危机的一个主要出路。   (1) 软件工程过程 (Software Engineering Process)   软件工程过程是为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。软件工程过程通常包含四种基本的过程活动:   P(Plan):软件规格说明。规定软件 ...
用例(Use Case)的优势 http://se.csai.cn/ANALYZE/200806230847161234.htm   用例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。用例方法最早是由Iva Jackboson博士提出的,后来被综合到UML规范之中,成为一种标准化的需求表述体系。用例的使用在RUP中被推崇备至,整个RUP流程都被称作是“用例驱动”(Use-Case Driven)的,各种类型的开发活动包括项目管理、分析设计、测试、实现等都是以系统用例为主要输入工件,用例模型奠定了整个系统软件开发的基础。   用例方法完全是站在 ...
软件工程项目的基本目标和原则: http://se.csai.cn/SoftDocuments/200806241439391312.htm   组织实施软件工程项目,最终希望得到项目的成功。所谓成功指的是达到以下几个主要的目标:   成功实施软件工程的目标:   ·付出较低的开发成本;   ·达到要求的软件功能;   ·取得较好的软件性能;   ·开发的软件易于移植;   ·需要较低的维护费用;   ·能按时完成开发工作,及时交付使用。   在具体项目的实际开发中,企图让以上几个目标都达到理想的程度往往是非常困难的。   图1软件工程目标之间的关系   图1表明了软件 ...
关于提高自己水平的十大技术:       在当今的IT就业市场,有人欢喜有人忧。有人对目前的工作和薪水很满意,有人目前正面临着下岗,或者已经下岗……   可能你是公司里唯一谙熟某项关键技术的高手,缺了你,公司便 ...
成为Java高手的25个学习目标     IT实验室将告诉你学习Java需要达到的25个目标,希望能够对你的学习及找工作有所帮助。对比一下自己,你已经掌握了这25条中的多少条了呢?     1.你需要精通面向对象分析与设计(OOA/OOD)、 ...
Global site tag (gtag.js) - Google Analytics