0

我收到了一个 Java 应用程序,可以在它上面应用三层架构风格;要做的用例之一是登录。我已经研究了适用于这种架构风格的所有理论和规则,但我需要了解各个级别之间对象合作的逻辑以及模式如何在每个级别上协同工作以实现这个(和其他)使用案子。

首先,我创建了三个基本包:PresentationApplicationData。此外,我还包含了一个关于边界类的包,即发送请求的各种 GUI。

在表示层,我只是放置了一个前端控制器,它封装了客户端使用应用程序所需的表示逻辑。

在数据层,我放置了一个DatabaseConnection类(与数据库通信的类,负责加载驱动程序、连接到数据库、查询等)和DAO 类(数据访问对象,与数据库接口)。

真正的问题是我不知道在Application级别放什么,它代表了应用程序的主要部分,定义了应用程序的领域模型,即:它们的实体、它们的关系和应用程序逻辑。它不应包含对如何向用户呈现数据或如何保存数据的任何参考。

所以,我目前有这个层次结构:

Main ---> Boundary > Presentation > Application > Data > Database

按照这个架构,怎么做一个简单的登录呢?请记住,每个级别只能与底层级别进行通信;例如Boundary层的类不能直接和Data层的类通信,Boundary的类只能和Presentation的类通信。如有必要,您可以发布一个伪代码,其中提出了要执行的步骤。

4

1 回答 1

1

您的边界仅调用表示层上的基本方法。

假设用户单击按钮以创建用户,流程如下:FrontController(表示层)上的边界调用方法。控制器可以检查一些基本的(与 UI 相关的)事物,然后会在应用层调用类似的方法。createUser(String name, int age)

应用层现在可以处理一些进一步的检查(例如:当前活动用户是否允许创建用户?)。应用层获取给定的信息(姓名和年龄),基于该信息创建一个 DAO,并调用该方法在数据(DAO) 上创建用户。

数据层只是插入给定的信息。

于 2017-07-02T00:29:41.327 回答