当前位置: 技术问答>java相关
关于三层结构的疑惑~
来源: 互联网 发布时间:2017-03-27
本文导语: 用mvc结构写的两层结构,把每个manager包一层本地,远端接口,就算是三层结构了? 照我自己的理解,三层结构里,ejb里应该放的是一个业务逻辑,而不是每个manager。那是不是封装的时候,把一个业务逻辑对应的所有...
用mvc结构写的两层结构,把每个manager包一层本地,远端接口,就算是三层结构了?
照我自己的理解,三层结构里,ejb里应该放的是一个业务逻辑,而不是每个manager。那是不是封装的时候,把一个业务逻辑对应的所有manager包起来?再让controller去调用?
总之我很疑惑。。。
照我自己的理解,三层结构里,ejb里应该放的是一个业务逻辑,而不是每个manager。那是不是封装的时候,把一个业务逻辑对应的所有manager包起来?再让controller去调用?
总之我很疑惑。。。
|
MVC和三层结构是两回事,当然MVC也可以用三层结构来实现。
三层结构典型的是WEB层(JSP、SERVLET、JAVABEAN等)、EJB层
、数据库在三个不同的主机上运行。MVC一般是指WEB层再细化的设计技术,
是一种开发编程技巧,基本上只涉及三层结构的其中一层。
三层结构是一种技术体系,更多地考虑系统的性能、可扩展性、安全等。
把MVC改一下,用EJB来写,只是最简单的三层结构。
三层结构典型的是WEB层(JSP、SERVLET、JAVABEAN等)、EJB层
、数据库在三个不同的主机上运行。MVC一般是指WEB层再细化的设计技术,
是一种开发编程技巧,基本上只涉及三层结构的其中一层。
三层结构是一种技术体系,更多地考虑系统的性能、可扩展性、安全等。
把MVC改一下,用EJB来写,只是最简单的三层结构。
|
http://www-900.ibm.com/developerWorks/cn/java/l-j2eeArch/index.shtml
看看2.4. WAF
WAF架构:WAF是WEB APPLICATION FRAMWORK的简称,是SUN蓝皮书例子程序中提出的应用框架。它实现了 MVC和其他良好的设计模式
看看2.4. WAF
WAF架构:WAF是WEB APPLICATION FRAMWORK的简称,是SUN蓝皮书例子程序中提出的应用框架。它实现了 MVC和其他良好的设计模式
|
我想说的是,mvc和三层架构并非完全无关。
相对而言,mvc是一种抽象的模式,而三层架构则是mvc模式的一个具体的实现方案。web层--view,business层--control,data层--model
struts实际上并非只在web层工作。他的action实际上是business层的controller,至于ejb,你可以用,当然也可以选择不用,并非使用ejb才算business层。
而实体bean,某种意义上是model,是data层的。
一家之言,见笑.:)
相对而言,mvc是一种抽象的模式,而三层架构则是mvc模式的一个具体的实现方案。web层--view,business层--control,data层--model
struts实际上并非只在web层工作。他的action实际上是business层的controller,至于ejb,你可以用,当然也可以选择不用,并非使用ejb才算business层。
而实体bean,某种意义上是model,是data层的。
一家之言,见笑.:)
|
Model(模型)
模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。
View(视图)
视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,视图应得到通知。
Controller(控制器)
控制器对用户的输入作出反应。它创建并设置模型。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Struts 概览
Client browser(客户浏览器)
来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容器将用一个 HTTP 响应作出响应。
Controller(控制器)
控制器接收来自浏览器的请求,并决定将这个请求发往何处。就 Struts 而言,控制器是以 servlet 实现的一个命令设计模式。struts-config.xml 文件配置控制器。
业务逻辑
业务逻辑更新模型的状态,并帮助控制应用程序的流程。就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装的 Action 类完成的。
Model(模型)的状态
模型表示应用程序的状态。业务对象更新应用程序的状态。ActionForm bean 在会话级或请求级表示模型的状态,而不是在持久级。JSP 文件使用 JSP 标记读取来自 ActionForm bean 的信息。
View(视图)
视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻辑,也没有模型信息 -- 只有标记。标记是使 Struts 有别于其他框架(如 Velocity)的因素之一。
模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。
View(视图)
视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,视图应得到通知。
Controller(控制器)
控制器对用户的输入作出反应。它创建并设置模型。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Struts 概览
Client browser(客户浏览器)
来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容器将用一个 HTTP 响应作出响应。
Controller(控制器)
控制器接收来自浏览器的请求,并决定将这个请求发往何处。就 Struts 而言,控制器是以 servlet 实现的一个命令设计模式。struts-config.xml 文件配置控制器。
业务逻辑
业务逻辑更新模型的状态,并帮助控制应用程序的流程。就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装的 Action 类完成的。
Model(模型)的状态
模型表示应用程序的状态。业务对象更新应用程序的状态。ActionForm bean 在会话级或请求级表示模型的状态,而不是在持久级。JSP 文件使用 JSP 标记读取来自 ActionForm bean 的信息。
View(视图)
视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻辑,也没有模型信息 -- 只有标记。标记是使 Struts 有别于其他框架(如 Velocity)的因素之一。
|
http://www-900.ibm.com/developerWorks/cn/java/l-j2eeArch/index.shtml
这里很好的,多去看看好了。
这里很好的,多去看看好了。
|
在J2ee中 M-V-C 模式是用在表示层(UI)的
不同model调用不同外观对象加载view ,View 的改变通过control 推向不同model
不同model调用不同外观对象加载view ,View 的改变通过control 推向不同model