1700484430
1700484431
然后就是看怎么使用了,场景类如代码清单37-28所示。
1700484432
1700484433
代码清单37-28 场景类
1700484434
1700484435
public class Client{
1700484436
1700484437
public static void main(String[]args){
1700484438
1700484439
//待分析的对象
1700484440
1700484441
ArrayList<Object>list=new ArrayList<Object>();
1700484442
1700484443
//定义两个业务规格书
1700484444
1700484445
ISpecification spec1=new BizSpecification(new Object());
1700484446
1700484447
ISpecification spec2=new BizSpecification(new Object());
1700484448
1700484449
//规则的调用
1700484450
1700484451
for(Object obj:list){
1700484452
1700484453
if(spec1.and(spec2).isSatisfiedBy(obj)){//and操作
1700484454
1700484455
System.out.println(obj);
1700484456
1700484457
}
1700484458
1700484459
}
1700484460
1700484461
}
1700484462
1700484463
}
1700484464
1700484465
规格模式已经是一个非常具体的应用框架了(相对于23个设计模式),大家遇到类似多个对象中筛选查找,或者业务规则不适于放在任何已有实体或值对象中,而且规则的变化和组合会掩盖那些领域对象的基本含义,或者是想自己编写一个类似LINQ的语言工具的时候就可以照搬这部分代码,只要实现自己的逻辑规格书即可。
1700484466
1700484467
1700484468
1700484469
1700484471
设计模式之禅 第38章 MVC框架
1700484472
1700484474
38.1 MVC框架的实现
1700484475
1700484476
相信这本书的读者对Struts的使用是得心应手了,也明白MVC框架有诸如视图与逻辑解耦、灵活稳定、业务逻辑可重用等优点,而且还对其他的MVC框架(例如JSF、Spring MVC、WebWork)也了解一点。SSH(Struts+Spring+Hibernate)框架是Java项目常用的框架,作为一个Java开发人员,应该对SSH框架很熟悉了!我们今天就学Struts怎么用!我们要讲的是MVC框架如何设计,你可以设计一个新的MVC框架与Struts抗衡。
1700484477
1700484478
在开始设计MVC框架前,首先要对MVC框架做一个简单的介绍。MVC(Model View Controller)的中文名称叫做模型视图控制器模型,就是因为它的英文名字太流行了,中文名字反而被忽略了。它诞生于20世纪80年代,原本是为桌面应用程序建立起来的一个框架,现在反而在Web应用中大放异彩(其实也可以把B/S认为是C/S的瘦化结构),MVC框架的目的是通过控制器C将模型M(代表的是业务数据和业务逻辑)和视图V(人机交互的界面)实现代码分离,从而使同一个逻辑或行为或数据可以具有不同的表现形式,或者是同样的应用逻辑共享相同、不同视图。比如,可以用IE浏览器访问某应用网站(页面格式遵守HTML标准),也可以用手机通过WAP浏览器访问(页面格式遵守WML格式),对MVC框架来说,后台的程序(也就是模型)不用做任何修改,只是使用的视图不同而已。MVC框架如图38-1所示。
1700484479
[
上一页 ]
[ :1.70048443e+09 ]
[
下一页 ]