面向对象的分析设计模式及方法论

1、面向对象的分析模式

      在分析系统需求中,仅仅依靠分析报告还不够的,还需要在此基础上充分挖掘系统内部规律,这就是分析模式。模式,是经验的积累与抽象表示,是一种解决特定问题的思路,已经被应用到实际的context中并被验证是有效的,完全有可能再被应用到其它的context中。它是抽象的。分析模式与业务领域相关,不同的业务领域使用不同的分析模式。类似的业务领域可以使用相同的分析模式。分析模式的本质是可复用的面向对象模型。分析模式包含了有用的模型及其适用对象的适用范围,而模型的复用,也就间接地实现了代码的复用。根据对象上模式描述的是业务概念还是业务概念间的关系和行为,可将分析模式分为结构型分析模式和行为型分析模式。

1.1 结构型分析模式

      结构型分析模式包含的是抽象业务领域概念的通用方法,着眼于分析业务领域中的单独概念,有较强的跨领域复用能力。结构型分析模式考虑的更多的是“是什么”的问题。

 常见的有:知识层和操作层分离模式,数量模式,范围模式,观察模式,随时间变化的事物模式等。

1.2 行为型分析模式

      行为型分析模式更关注各业务领域概念间的关系,考虑的更多的是“怎么做”,其专业性更强。

 常见的有:仓库管理模式,财务模式,责任模式,交易模式,插接板模式等。

2、面向对象的设计模式

      在实际应用中,经验的价值非常重要。设计模式与技术实现结构相关,描述了在面向对象软件设计过程中对特定问题的简洁的解决方案。设计模式就是将面向对象设计的经验记录下来,使开发者能少走弯路,并且整理出更加清晰的设计思路和体系结构。一般而言,包括四个要素:模式名称、问题、解决方案、效果。设计模式要涉及的内容常有:如何构造类、如何构造类和类之间的关系、如何满足动态可变性、如何降低类之间的耦合性。在实现方面,组合比继承更有效。设计模式特别适用于将一下分析模式转化为一下实现模型。

      经典的设计模式归结为创建型模式、结构型模式和行为型模式三大类。

 创建型:使得动态创建对象更灵活;

 结构型:添加第三方类降低耦合;

 行为型:满足对象之间的动态行为特征。

2.1 创建型模式—独立的类或者对象集合

      常见的模式有:抽象工厂、生成器、工厂方法、原型/单件(对象)。

2.2 结构型模式—连接已存在的对象

      常见的模式有:适配器(类/对象)、桥接、组成、装饰、外观、享元、代理(对象)

2.3 行为型模式—命令或动作的有效执行

      常见的模式有:解释器、模板方法(类)、职责连、命令、迭代器、中介者、备忘录(对象)、观察者、状态、策略、访问者(对象)。

3、面向对象的方法论

      通常,我们将关于认识世界和改造世界的方法的理论称为方法论。面向对象的方法论是以面向对象模范为基础的。面向对象方法都支持三种基本的活动,识别对象和类,描述对象和类之间的关系,以及通过描述每个类的功能定义对象的行为。在分析系统需求中,通过静态逻辑(描述实例化、关联,聚集以及一般化等关系),动态逻辑(对象间的相互关系),静态物理(代码布局)和动态物理(描述软件的进程和线程体系结构)四个不同的侧面来刻画软件的体系结构。总的来说,面向对象方法论包括两个方面的内容:模型和方法,图例及标记规范。从1986年Booch提出后,已有很多方法论。如BOOCH开发模型,OMT开发模型等。我们学习几个最常见的经典模型。

4、未来软件的发展方向----构件和构架

软件行业的工业化趋势导致了软构件的产生。能够像硬件系统那样,将部分软件组合起来构建软件系统,一直是软件行业多年来追求的目标。特别是对于象很多应用软件的开发(例如很多行业和单位的MIS系统),若能结合系统的实际情况充分利用已有的软件构件,将会大大提高生产效率,减少大量的重复劳动。可以说,软件构件技术的出现是对传统软件开发过程的一次变革。

构件(Component)是可复用的软件组成成分,可被用来构造其它软件。它可以是被封装的对象类、类树、一些功能模块、软件框架、软件构架(或体系结构)、文档、分析件、设计模式等。从广义上讲,软构件技术是基于面向对象的,以嵌入后马上可以使用的即插即用型软构件概念为中心,通过构件的组合来建立应用的技术体系。狭义上讲,它是通过构件组合支持应用的开发环境和系统的总称。构件的最小粒度为单个的类和模块。

构件技术和面向对象技术紧密相关。构件和对象都是对现实世界的抽象描述,通过接口封装了可复用的代码实现。当然,构件技术和面向对象技术还有不同之处:在概念层面上,对象描述客观世界实体,构件提供客观世界服务;在复用策略上,对象是通过继承实现复用,而构件通过合成提供复用;在技术手段上,构件通过对对象技术而实现,对象按规定经过适当的接口包装后在为构件,一个构件通常是多个对象的集合体。

发布了208 篇原创文章 · 获赞 30 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hopegrace/article/details/104265533