1

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

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

感谢您的任何想法。

4

3 回答 3

2

在我看来,如果它感觉多余,你不应该使用它。

如果您在不需要它的项目中使用 OOP,那么它的缺点可能比优点多。

如果只是关于一致性,那就放弃它。有很多人(例如)在 c++ 中使用 stl,但以程序方式编写其余代码。如果您觉得 OOP 势不可挡,请选择您正在考虑使用的混合方法(在需要时使用 OOP,其余部分使用过程),只要您的代码不会因此而变得难以阅读。

于 2009-09-07T09:12:12.373 回答
2

是的,使控制器面向对象。您应该将它们作为对象进行交互。您可能希望稍后使用子类扩展或修改它们。很多人认为他们永远只需要一个控制器而陷入困境,因此他们没有计划未来的灵活性,从而将自己逼入绝境。

于 2009-09-07T16:04:10.900 回答
2

您需要查看Catalyst,这将使您不必担心控制器使用什么 OO 以及如何实现它。它并不完美,但如果您愿意,它是一条穿越设计荒野的人迹罕至的道路。

于 2009-09-07T16:09:47.753 回答