Template Method模式
在template method模式中,父类会在某方法中定义服务流程,该方法称为模板方法(template metchod),而流程中调用的一些方法仅为定义声明而无实现或简单实现,目的是希望子类可以自行定义这些方法。
例如:HttpServlet的service()方法就是模板方法,当请求来到Servlet时,会先调用service()方法,而后依HTTP请求类型是GET或POST等,调用对应的doGet()或doPost()方法。
Intercepting Filter模式
在使用过滤器时,可在不修改原应用程序的情况下,为应用程序加上额外服务,如性能评测、用户验证、字符替换、压缩等需求。像这类基本上与应用程序的业务需求没有直接的关系,而只是应用程序额外的组件服务之一,可能只是短暂需要它,不应该为了一时的需求而修改代码,强加入原有的流程中。实际上,过滤器实现了Java EE模式中的Intercepting Filter模式。
Model-View-Controller模式
MVC属于架构模式中的一种,其区分Web应用程序的组建职责为模型、视图、控制器三大角色。架构模式主要强调应用程序软件组建或子系统的职责,以及软件组件或子系统之间的互动流程,而不强调实际如何实现这些组件。
Business Delegate模式
BusinessDelegate角色接受客户端(通常是个控制器)请求,委托BusinessService运行后传回结果给客户端。Business Delegate模式可以有效地隐藏后台程序的复杂度,降低前台界面组件与后台业务组件的耦合度。
库与框架
库:编写某个程序,从main()开始,整个过程由你决定,在必要时去的相关API来使用,例如日期处理API、字符串处理API等,这是就是以库的概念在使用API。
框架:有些API在设计时,实现规范好某个流程,这些流程不是由你编写,你只需要依API的规范,实现出流程中没有实现或仅有简单实现的部分。程序运行之后,会依API实现定义好的流程进行,过程中空缺的部分,再调用你实现的代码,将这个概念扩大,就突显出框架的意义。
使用了支持某个架构、流程的框架,就代表了应用程序必须依照框架定义的架构、流程来实现,才可以收到使用该框架的效益。
通常框架支持的架构、流程会有一定的复杂度,如果应用程序本身并不复杂,冒然采用支持复杂架构、流程的框架,只会被一堆设定文件的管理困扰。