我的MVC控制器应该面向对象吗?

时间:2009-09-07 08:47:24

标签: perl model-view-controller oop frameworks template-toolkit

我正在创建一个Perl网站,我将使用Template Toolkit(用于视图),一大堆用于数据库交互和业务逻辑的对象(模型),但我想知道:控制器应该是OO?

我觉得他们应该这样做,只是为了保持一致性,但是当我不以OO方式与控制器交互时,它也觉得可能有点多余。控制器更像是一种即兴发射的方式。

感谢您的任何想法。

3 个答案:

答案 0 :(得分:2)

在我看来,如果它感觉有效,你就不应该使用它。

如果你在不需要它的项目上使用OOP,那么OOP可能比专业人士更有利。

如果仅仅是一致性,那就放弃吧。有很多人(例如)在c ++中使用stl但是以程序方式编写其余的代码。如果你觉得OOP压倒性地考虑你想要使用的混合方法(OOP需要,其余的是程序),只要你的代码不会因此而难以阅读。

答案 1 :(得分:2)

是的,使控制器面向对象。您应该与它们作为对象进行交互。您可能希望稍后使用子类扩展或修改它们。很多人都认为他们只需要一个控制器就会让自己陷入困境,所以他们通过不计划未来的灵活性将自己描绘成一个角落。

答案 2 :(得分:2)

您需要查看Catalyst,这将为您节省大量担心控制器使用的OO以及如何实现它。它并不完美,但是,如果你愿意的话,它在设计荒野中是一条很好的路径。