我是设计类图的新手。 由于我的应用程序作为REST API工作,我想使用DTO-DAO设计模式。对于用户注册模块,DB包含3个用于用户登录,配置文件和地址的表。
我是否需要创建3个DTO和相应的DAO来插入/更新用户登录,个人资料和地址? 如果是这样,如果我只创建了一个表而不是三个表并且将来删除了两个表怎么办?
答案 0 :(得分:1)
无论您遵循何种设计模式,数据建模都完全取决于您。您的设计模式应基于您的数据建模和您的需求。不是这样,您的数据模型将取决于设计模式,但需要
答案 1 :(得分:1)
您可以创建自己喜欢的任何dto对象。但是,您的数据库设计和dto设计都是由系统中的概念(用户/公司/地址等)驱动的,这通常称为域。
你经常会发现两者非常相似,毕竟它们都代表同一个域!
至于你是否需要不同的dtos用于真正依赖你的不同通话。您是否需要使用其他类来表示插入/更新调用?有什么区别?通常更新具有id(而插入件还没有分配)。那么为什么没有两个更新继承自插入但添加了id属性?
删除dtos,您可以将其作为更新或仅作为ID执行。毕竟为什么要费心填充整个对象,你需要删除。就个人而言,我只是说
DeleteUser(int id);
更容易!