- 浏览: 9690 次
- 性别:
最新评论
文章列表
装饰模式:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案;代理模式:给一个对象提供一个代理对象,并有代理对象来控制对原有对象的引用;
装饰模式应该为所装饰的对象增强功能;代理模式对代理的对象施加控制,并不提供对象本身的增强功能
二者的实现机制确实是一样的,可以看到他们的实例代码重复是很多的。但就语义上说,这两者的功能是相反的,模式的一个重要作用是简化其他程序员对你程序的理解,
你在一个地方写装饰,大家就知道这是在增加功能,你写代理,大家就知道是在限制,
虽然代码很可能相同,但如果你都叫他们装饰,别人会很迷惑的。
装饰器模式关注于在
原帖为:http://blog.csdn.net/zhengzhb/article/details/7187278
在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。
1. 依赖(Dependence)
依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类A当中使用了类B,其中类B是作为类A的方法参数、方法中的局部变量、或者静态方法调用。 ...
1. 单一职责原则(Single Responsibility Principle)
2. 里氏替换原则(Liskov Substitution Principle)
3. 依赖倒置原则(Dependence Inversion Principle)
4. 接口隔离原则(Interface Segregation Principle)
5. 迪米特法则(Law Of Demeter)
6. 开闭原则
//eclipse启动配置
-Xms256m
-Xmx1024m
-XX:PermSize=128M
-XX:MaxPermSize=512M
select SYS_GUID() as uuid from dual;
response.setHeader( "Pragma", "no-cache" );
response.setDateHeader("Expires", 0);
response.setHeader( "Cache-Control", "no-cache" );
response.setHeader( "Cache-Control", "no-store" ); //该设置是防止Firefox 缓存
response.setHe ...
在多用户的数据库系统中,都有并发能力,一旦执行了并发,必然导致数据访问冲突。使用事务可以尽量避免并发访问时的冲突,使得数据库的并发访问和性能两方面取得均衡。
不同的厂商在事务处理上有差异,一下针对Oracle,对事务方面的有关自己的理解,进一步说明Hibernate对事务的处理。
1.事务
首先,事务是一系列操作组成的一个单元,要么全部完成,要么全部取消。从SQL编程的角度来说,其组成单元主要由对数据进行CRUD操作的SQL语句组成。Oracle数据库在默认情况下任何一个DML语句都会开始一个事务,知道执行commit或rollback操作,当前十五才 ...
前段时间做了个小项目由于是用JDBC来访问数据库所以通过查询来获得数据后免不了会通过实体的set方法来将对象返回到service层,这样一来工作量无形中又加了许多,而且一个方法里大量的代码都是用来封装对象,所以我就根据 ...