直接启动命名图层和方法时,我觉得有些问题,因为它是在下面的示例中发生的。为相同名称的图层和方法命名
UserRepository,UserService,UserController的
和方法
GetUserById,GetUserById和控制器再次相同的名称。
为什么我再次复制它们?并在图层之间包装相同的方法?
直接启动命名图层和方法时,我觉得有些问题,因为它是在下面的示例中发生的。为相同名称的图层和方法命名
UserRepository,UserService,UserController的
和方法
GetUserById,GetUserById和控制器再次相同的名称。
为什么我再次复制它们?并在图层之间包装相同的方法?
这就是当你有分层架构时你得到的。有一个后缀可以提高代码的可读性,因为它明确指出了这个类属于哪个层。
此外,您列出的方法的好处可能不明显,因为这恰好是一个简单的getter。但是,对于复杂的业务方法,可以实现每个层的幕后重要性。
例如,“注册用户”的用例对每个图层都有不同的责任。控制器可能会进行一些验证,比如电子邮件是否正确,用户名/密码是否有有效的语法,服务层可能会在当然检查用户是否唯一的情况下发送确认电子邮件,并且存储库可能会将其持续到某个地方别的就没关系。
希望有所帮助。
我认为这是一个糟糕的设计的迹象。每一层都必须与客户谈论它自己的“语言”。这种语言必须是面向对象的。 “ID-notation”是OOP世界之外的东西(属于C世界)。
尽量避免ID和让对象互相交谈。完成后,您的方法将被重命名为更面向对象的东西。
+1好问题 – Nilesh 2011-03-15 11:46:42