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

Perl 我的MVC控制器应该是面向对象的吗?,perl,model-view-controller,oop,frameworks,template-toolkit,Perl,Model View Controller,Oop,Frameworks,Template Toolkit,我正在制作一个Perl网站,我将使用TemplateToolkit(用于视图),一大堆用于DB交互和业务逻辑(模型)的对象,但我想知道:控制器应该是OO吗 我觉得他们应该这样做,只是为了保持一致性,但当我不以面向对象的方式与控制器交互时,也会觉得有点多余。控制器被称为更多的火灾和遗忘的方式 谢谢你的建议。在我看来,如果你觉得它是多余的,你不应该使用它 如果你在一个不需要OOP的项目上使用它,OOP可能弊大于利 如果只是为了一致性,那就放弃它。有很多人(例如)在C++中使用STL,但是用程序的方式

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

我觉得他们应该这样做,只是为了保持一致性,但当我不以面向对象的方式与控制器交互时,也会觉得有点多余。控制器被称为更多的火灾和遗忘的方式


谢谢你的建议。

在我看来,如果你觉得它是多余的,你不应该使用它

如果你在一个不需要OOP的项目上使用它,OOP可能弊大于利


如果只是为了一致性,那就放弃它。有很多人(例如)在C++中使用STL,但是用程序的方式编写剩下的代码。如果你觉得面向对象编程(OOP)势不可挡,那么就选择你想使用的混合方法(如果需要,采用面向对象编程,程序等等),只要你的代码不会因此变得难以阅读。

在我看来,如果你觉得它是多余的,你就不应该使用它

如果你在一个不需要OOP的项目上使用它,OOP可能弊大于利


如果只是为了一致性,那就放弃它。有很多人(例如)在C++中使用STL,但是用程序的方式编写剩下的代码。如果你觉得面向对象编程(OOP)势不可挡,那就采用你正在考虑使用的混合方法(如果需要的话,采用面向对象的方法,程序等等),只要你的代码不会因此变得难以阅读。

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

是的,使控制器面向对象。您应该将它们作为对象进行交互。您可能希望稍后使用子类扩展或修改它们。很多人都会因为假设自己只需要一个控制器而陷入困境,因此他们不打算将来的灵活性而陷入困境。

你需要看,这样你就可以很好地担心控制器使用什么OO以及如何实现它。它并不完美,但是,如果你愿意,它是一条穿越设计荒野的老路。

你需要看看,这将为你省去很多关于控制器使用什么OO以及如何实现它的担忧。这并不完美,但是,如果你愿意,这是一条穿越设计荒野的必经之路。

我不完全确定我是否同意这一点。我是雅格尼的超级粉丝。以后你可以随时更改它。当然,这意味着要更新很多调用代码,但我们就是这么做的,不是吗?我不确定限制可能的重构工作或者我们的代码应该是一个设计目标。这不是一个特性,所以YAGNI不适用。用这种或那种方法做同样多的工作。你不妨用更灵活的方式来做。但是,如果你认为自己对未来了如指掌,那就做你喜欢做的事吧。我的经验是,没有人喜欢以前的设计,总是试图在其中塞进一些东西。我不完全确定我是否同意这一点。我是雅格尼的超级粉丝。以后你可以随时更改它。当然,这意味着要更新很多调用代码,但我们就是这么做的,不是吗?我不确定限制可能的重构工作或者我们的代码应该是一个设计目标。这不是一个特性,所以YAGNI不适用。用这种或那种方法做同样多的工作。你不妨用更灵活的方式来做。但是,如果你认为自己对未来了如指掌,那就做你喜欢做的事吧。我的经验是,没有人喜欢以前的设计,总是试图在其中塞进一些东西。