从今天开始,一步步走上源码分析的路。刚开始肯定要从简单着手。我们先从Java发展史上最强大的框架——Spring、、、旗下的资源抽象接口Resource开始吧。 我看了好多分析Spring源码的,每每一开始就是Spring IOC、AOP、BeanFactory这样的Spring典型模块,实在...
分类:
编程语言 时间:
2014-10-10 23:11:24
阅读次数:
195
大规模软件系统的产品周期
随着产品的不断发展,复杂度不断增加,生产率(Features数量)下降,质量(Bugs)不受控制,稳定性(Fluctuation)变差,架构变得腐化。
原则、模式、最佳实践和工具集
架构优化原则
1.单一职责
2.领域内聚
3.抽象接口隔离
4.重用
5.管理架构资产
模块解耦模式
1.模块重新划分
表现:
一个模块在领域中内聚性不强,...
分类:
其他好文 时间:
2014-09-23 23:55:05
阅读次数:
296
说到面向对象,就应该说说它的那几个核心的机制:继承,重写,多态,抽象,接口。它们是判断是否运用了面向对象编程的核心。接下来
用几个例子,看看它们的演变过程和它们之间的关系。
继承:简单来说,子类自动拥有父类的所有方法和属性。
举例:狗和猫都继承了动物的叫声。子类继承父类。
class Animal {
private String name;
publi...
分类:
编程语言 时间:
2014-09-23 20:30:30
阅读次数:
234
面向对象是对现实世界的抽象。接口, 是对对象的功能的抽象。接口可以理解为一组功能,协议。协议体现在两点:1, 是业务需求与程序之间的协议。将需求功能抽象为接口。2,是架构,或分层中层与层之间的协议。体现在“是什么就一定能干什么”。view 层和business层和db层之间的协议。这也体现了封装性。...
分类:
其他好文 时间:
2014-09-18 21:52:44
阅读次数:
123
1、意图: 将抽象部分(抽象接口)与它的实现部分(代码实现)分离,使它们都可以独立地变化。 理解:抽象部分是对外展现的接口(api),而实现部分是针对抽象接口提供的不同版本的功能实现,使两者独立变化指两者可以在各自的维度上自由变化,而不会产生太大的影响。如可以在api中添加新的接口,而不影响具体.....
分类:
其他好文 时间:
2014-09-18 00:47:03
阅读次数:
280
1:封装 将对象进行封装,并不等于将整个对象完全包裹起来,而是根据实际需要,设置一定的访问权限,用户根据不同的权限调用对象提供的功能,在C#语言中,可以使用修饰符public、internal、protected、private分别修饰类的字段、属性和方法。2:继承,主要是注意继承的格式[cshar...
分类:
其他好文 时间:
2014-09-05 09:51:01
阅读次数:
226
为什么是Listlist=newArrayList(),而不直接用ArrayList?编程是要面向对象编程,针对抽象(接口),而非具体。List是接口,ArrayList是实现。实现List接口的有ArrayList、LinkedList、Vector等,所以用哪个就直接new一个接口实现这是一种很...
分类:
其他好文 时间:
2014-08-27 20:13:08
阅读次数:
265
概念:在装饰模式中的角色有: ● 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 ● 具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类。 ● 装饰(Decorator)角色:持有一个构件(Component)对象的实例...
分类:
其他好文 时间:
2014-08-21 18:34:44
阅读次数:
217
FACTORY模式允许我们只依赖抽象接口就能创建出具体对象的实例。所以,开发期间如果具体类是高度易变的,那么该模式就很适合。1.简单工厂简单工厂的一个特点就是工厂类必须知道所有具体厂品的实现,根据传进来的参数通过if/else判断创建哪个具体厂品。这样其他地方不需要创建具体厂品。做到了职责的分离。如...
分类:
其他好文 时间:
2014-08-12 17:02:54
阅读次数:
206
装饰者模式,这个模式说我一直记忆深刻的模式,因为Java的IO,我以前总觉得Java的IO是一个类爆炸,自从明白了装饰者模式,Java的IO体系让我觉得非常的可爱,我们现在看看什么是装饰者,然后再来看如何去很爽的运用Java的IO(C#的IO则不同) Component:这个是抽象接口(这里的接口....
分类:
其他好文 时间:
2014-08-07 22:44:55
阅读次数:
343