MVC 模型-视图-控制器体系结构
J2EE 是根据一个特定的应用程序结构开发的,这个结构称为 模型-视图-控制器(MVC)。MVC 清楚地将应用程序定义为三个分离的层:
模型:应用程序的数据和业务规则的集合――通常称为应用程序的业务逻辑。
视图:应用程序的用户界面。
控制器:定义了应用程序如何对用户输入或模型层的变化作出反应――通常称为应用逻辑。
MVC 体系结构的优点
J2EE 中没有任何东西强迫您使用 MVC 体系结构来组织应用程序,但是这样做有许多很好的理由。通过定义三层之间的清楚分离,MVC 允许构成每个层的组件之间进行松散耦合。这使得组件具有更高的可重用性和灵活性。例如,假设您的需求之一是在某个 Web 应用程序中对相同数据支持不同类型的视图,因为不同的部门需要某个数据库中相同数据的不同子集。您需要开发特定于每个所需子集的新视图组件。如果视图逻辑 和数据库访问代码是紧密耦合的――ASP 页面就是将数据库访问代码和 HTML 交织在一起,那么每个视图都要包含数据库访问代码。维护重复的代码不仅需要大量的工作,而且可能导致出错。对于这种情形,MVC 体系结构将数据库访问代码作为该模型的一部分,而各种视图组件都可以重用它。
J2EE 组件和 MVC
图 1 显示我们到目前为止所讨论的 J2EE 组件如何映射为 MVC 体系结构。注意,模型和视图之间不存在任何联系。控制器的功能是充当两者之间的中转站。
图 MVC 与 J2EE Web 应用程序