gpt4 book ai didi

java - 3 层架构正确性

转载 作者:行者123 更新时间:2023-11-30 09:39:39 25 4
gpt4 key购买 nike

我有一个在(有缺陷的)三层架构中实现的项目。我的工作是使它更通用,以便将新数据库添加到项目中变得容易。

具体:有一个用于 SQL 数据库的 databaseFacade,我必须使其更通用,以便我们可以非常轻松地添加多个数据库。在这种情况下,将其写入 CSV 文件。

我在数据库层的想法是创建一个定义所有方法的接口(interface)。然后让数据库外观(取决于您要使用的外观)实现此接口(interface),使其变得更加通用。然后我有某种 DBmanager 类。这个 DBmanager 类将读出一个配置文件,因此他知道要使用哪个数据库。他将根据此信息创建一个接口(interface)实例并将其返回给应用层。

不过我不知道我说的对不对。应用层现在有一个 DBmanager 类(其中所有内容都被正确封装,只有 1 个方法是公共(public)的用于返回外观),然后是 DBfacade。

关于这个的正确性有什么想法吗?因为我有疑问。

最佳答案

我见过一个 PHP 系统 ( Moodle ) 几乎完全使用这种模式,而且工作正常。所发生的只是将 DB 类型指定为配置变量,并将具体的 DB 访问类实例化为全局 DB 管理器对象,提供外观方法,例如get_records(),它返回标准化的行对象数组。是否称此外观或适配器尚有争议,但这几乎不用担心。

我会说按照您当前的计划去做。您似乎已经正确地解耦了层并理解了模式的目的。此外,您的低级 (DB) 和高级(应用程序 Controller )组件都依赖于中间的单个 DB facade 接口(interface)的方式是 dependency inversion 的一个很好的例子。 ,所以奖励积分! :)

关于java - 3 层架构正确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9749328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com