命令模式在MVC中的应用:
Struts中,在模型层都要继承一个Action接口,并实现execute方法,其实这个Action就是命令类。为什么Struts会应用命令模式,是因为Struts的核心控制器ActionServlet只有一个,相当于Invoker,而模型层的类会随着不同的应用有不同的模型类,相当于具体的Command。这样,就需要在ActionServlet和模型层之间解耦,而命令模式正好解决这个问题。...
分类:
Web程序 时间:
2014-07-30 17:26:24
阅读次数:
339
在学习spring的时候,最常听到的词应该就是IOC和AOP了,下面,我从我的角度再次理解一下Spring里的IOC和AOP.
IOC简介
IoC(InversionofControl):IoC就是应用本身不依赖对象的创建和维护而是交给外部容器(这里为spring),这要就把应用和对象之间解耦,控制权交给了外部容器。即Don'tcallme,I'llcallyou!所以IoC也...
分类:
编程语言 时间:
2014-07-30 17:24:44
阅读次数:
266
Aspect Oriented Programming 面向切面编程。解耦是程序员编码开发过程中一直追求的。AOP也是为了解耦所诞生。具体思想是:定义一个切面,在切面的纵向定义处理方法,处理完成之后,回到横向业务流。AOP 主要是利用代理模式的技术来实现的。1、静态代理:就是设计模式中的proxy模...
分类:
编程语言 时间:
2014-07-30 11:43:23
阅读次数:
330
1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框 架的目的...
分类:
编程语言 时间:
2014-07-29 18:27:22
阅读次数:
399
建造者模式其实就是将复杂对象的创建分解成很多精细的小步骤或小部件,然后使用一个指挥者的类来控制这些步骤的执行或部件的组装,从而达到解耦合,易扩展的目的,调用者只需要使用指挥类和建造类,从而达到了对底层对象创建的封装目的。因为建造者是抽象类,不是具体实现,后续扩展也不影响现有代码,符合了开闭原则。...
分类:
其他好文 时间:
2014-07-29 15:18:08
阅读次数:
287
在上篇博客 用java观察者模式解耦经典三层架构 中,...
分类:
编程语言 时间:
2014-07-29 14:49:28
阅读次数:
278
三层架构是一个非常经典的架构模式,根据系统的职责不同,将系统分成了表现层,逻辑层和数据访问层,并且配合数据实体进行数据传输,可以大大的封装性和复用性。
经典的三层架构图:
我们再深入到架构图内部,看看具体的类图,用简单的登陆举例吧:
这里通过LoginUI,调用了LoginLogService和LoginVerificationService两个类,通过类图可以看得出,U层和...
分类:
编程语言 时间:
2014-07-28 15:46:03
阅读次数:
371
一、首先我们要明确我们为什么要学?在我们学习了javaweb基础后,我们基本可以完成基本的网站要求,但是我们为什么要学习和使用使用Spring?
1、降低组件之间的耦合度,实现软件各层之间的解耦。
controller----->service--------->dao
2.可以使用容器几桶的众多服务。如:事务管理服务、消息服务、当我们使用容器管理时,开发人员就不再需要手工...
分类:
编程语言 时间:
2014-07-28 05:10:40
阅读次数:
236
定义: 一个对象应该对其它的对象保持最少的了解。迪米特法则又称为最少知识法则,英文全称为Least Knowledge Principle ,简称为LKP。 个人理解: 迪米特法则主要目的是类间解耦,弱耦合。只有类弱耦合了后,类的复用性才会提高。 问题由来: 类之间的关系越密切,类之间的耦合程度越高...
分类:
其他好文 时间:
2014-07-27 11:04:12
阅读次数:
222
前言 在上一篇我大致的介绍了这个系列所涉及到的知识点,在本篇我打算把IOC这一块单独提取出来讲,因为IOC容器在解除框架层与层之间的耦合有着不可磨灭的作用。当然在本系列前面的三篇中我也提供了一种基于反射的解耦方式,但是始终不是很优雅,运用到项目中显得别扭。目前,我所掌握的IOC容器主要有两个:一个....
分类:
其他好文 时间:
2014-07-26 14:56:52
阅读次数:
317