Michael

Michael

他/她暂时还没有添加描述

注册时间:2012-12-21

模式3:Cohesive Modules

高内聚、低耦合是面向对象设计的一个原则。一个模块的内聚性是模块的功能强度的度量,指示一个模块内部各个元素彼此结合的紧密程度。 影响模块内聚性主要有以下两个关键因素: - 模块内类行为变化的速率 - 模块内的类同时被重用(即复用A的时候同时也会复用B)的可能性。一个模块的行为应该尽量只做一件事,而这个模块内部的行为在数据上和功能上应该有比较强的联系。


模式13: Abstract Modules

系统的可扩展性是软件设计的一个重要目标,我们往往会希望能够在对原有系统没有太大影响、或者说不重新部署原系统的基础上为系统增加新的功能。 接下来三章我们介绍一些可以实现上述功能的设计方法或设计模式,我们将它们统称为扩展型模式。


模式14:Implementation Factory

工厂模式是指我们使用工厂去某个生产某个抽象类或者接口的具体实例。 为了实现两个模块间只对抽象对象或者接口建立关联,避免其中一个模块(Client Module)对另外一个模块(Product Module)实例的直接引用,我们可以使用工厂去创建实例。


模式15:Seperate Abstractions

将抽象行为(如抽象类或者抽象接口)与它们的具体实现分离到不同的模块中。 抽象模式(Abstract Modules)将抽象行为和具体实现放在一个模块下,可以允许程序员去创建新的模块实现,来扩展系统的行为。但是有的时候,你想完全替换掉系统原有的行为,比如替换掉数据库持久层框架,如果将抽象行为和具体实现放在一个模块下,修改起来将很麻烦。这时候你需要将具体实现从抽象行为的模块中分离出来。


模式16:Colocate Exception

异常类放置的位置应该靠近抛出该异常的接口或者类。 对于异常的处理,往往都是在系统开发的后期才做的,或者说对于某个功能来说,认真考虑该功能可能抛出的异常及其处理,一般都是在该功能实现的后期才做的。这个时候就会涉及到异常类摆放在哪的问题。异常类的摆放会影响系统的模块化程度,更具体来说,会影响系统模块间的依赖结构。比如错误的将异常放置在捕获异常的模块里,就容易造成循环依赖:捕获异常的模块依赖抛出异常的模块;而抛出异常的模块因为异常类定义在捕获异常的模块里,所以它又不得不依赖于后者,造成循环依赖。


2013-03-15 02:20评论 "OSGi入门篇:模块层":

受益匪浅啊!

2013-03-12 11:09评论 "任务1:上手":

易帝这文章写得太棒了!

2013-01-31 09:55评论 "Snaps介绍":

回复YiFei: 太帅了!