Database 类是否依赖于数据库表?

Database 类是否依赖于数据库表?,database,class,dao,dto,Database,Class,Dao,Dto,我是设计类图的新手。 由于我的应用程序与RESTAPI一样工作,我希望使用DTO-DAO设计模式。对于用户注册模块,DB包含3个用于用户登录、配置文件和地址的表 我是否需要创建3个DTO和相应的DAO来插入/更新用户登录、配置文件和地址? 如果是这样的话,如果我只创建一个表而不是三个表,并在将来删除两个表,该怎么办?无论您遵循什么设计模式,数据建模都完全取决于您。您的设计模式应该基于您的数据建模和您的需要。并非如此,您的数据模型将取决于设计模式,而是取决于您的需要您可以创建任何您喜欢的数据对象。

我是设计类图的新手。 由于我的应用程序与RESTAPI一样工作,我希望使用DTO-DAO设计模式。对于用户注册模块,DB包含3个用于用户登录、配置文件和地址的表

我是否需要创建3个DTO和相应的DAO来插入/更新用户登录、配置文件和地址?
如果是这样的话,如果我只创建一个表而不是三个表,并在将来删除两个表,该怎么办?

无论您遵循什么设计模式,数据建模都完全取决于您。您的设计模式应该基于您的数据建模和您的需要。并非如此,您的数据模型将取决于设计模式,而是取决于您的需要

您可以创建任何您喜欢的数据对象。然而,数据库设计和dto设计都是由系统中的概念(用户/公司/地址等)驱动的,这通常称为域

你会经常发现这两者非常相似,毕竟它们都代表同一个领域

至于不同的通话是否需要不同的DTO,这完全取决于您。是否需要其他类来表示插入/更新调用?有什么区别?通常更新有一个id(而insert还没有分配id)。那么,为什么不在更新从insert继承而添加id属性的地方设置两个呢

删除DTO,您可以将其作为更新或id来执行。毕竟,为什么要费心填充要删除的整个对象呢。我个人认为

DeleteUser(int id);

容易多了

谢谢。我将为3个表创建3个DTO,如果我只创建一个表而不是3个表,并在将来删除两个表,该怎么办?@satyanarayana如果您更改数据库,您无疑需要更改代码。如果这回答了你的问题,请接受它