2013-02-17 64 views
3

我使用HTML::FormHandler,为了不重复很多代码,我试图将我的表单分割成HTML::FormHandler Cookbook建议的可重新创建的片段。它讨论了能够创建自己的领域或你自己的角色来完成这个任务,但是我无法真正明白两者之间的区别。我知道他们在实施/使用他们方面有所不同,但据我所知,他们似乎很相似地完成了同样的事情。我的问题是,是否有任何情况下明确选择使用另一种?或者这种东西往往更偏爱某种东西?谢谢您的帮助。我想在代码生产之前这样做,并且稍后更改难度更大:)HTML :: FormHandler角色vs字段

回答

0

一个选项是使用Moose类,另一个选择是使用Moose角色。

这些概念稍有不同。下面是从Moose Roles manual一个片段:

角色封装了一些片行为或状态,可以类之间共享 的。这是班级所做的事情。 了解角色不是类是很重要的。你不能从角色继承, 并且角色不能实例化。我们有时会说,通过班级或其他角色消费的角色是 。

类让你使用继承,当你想共享没有继承的功能时,角色是很好的。

有关您何时会/不想使用继承的一个(人为的)示例,请参见Roles vs Inheritance上的此文章