2011-03-14 63 views
1

直接启动命名图层和方法时,我觉得有些问题,因为它是在下面的示例中发生的。为相同名称的图层和方法命名

UserRepository,UserService,UserController的

和方法

GetUserById,GetUserById和控制器再次相同的名称。

为什么我再次复制它们?并在图层之间包装相同的方法?

+0

+1好问题 – Nilesh 2011-03-15 11:46:42

回答

1

这就是当你有分层架构时你得到的。有一个后缀可以提高代码的可读性,因为它明确指出了这个类属于哪个层。

此外,您列出的方法的好处可能不明显,因为这恰好是一个简单的getter。但是,对于复杂的业务方法,可以实现每个层的幕后重要性。

例如,“注册用户”的用例对每个图层都有不同的责任。控制器可能会进行一些验证,比如电子邮件是否正确,用户名/密码是否有有效的语法,服务层可能会在当然检查用户是否唯一的情况下发送确认电子邮件,并且存储库可能会将其持续到某个地方别的就没关系。

希望有所帮助。

0

我认为这是一个糟糕的设计的迹象。每一层都必须与客户谈论它自己的“语言”。这种语言必须是面向对象的。 “ID-notation”是OOP世界之外的东西(属于C世界)。

尽量避免ID和让对象互相交谈。完成后,您的方法将被重命名为更面向对象的东西。

相关问题