php – 松散耦合的MVC的替代品?

我作为 PHP程序员在网上商店工作.大多数时候,我们使用良好的编码实践,但整个网站的结构不多.

我现在已经进入了对我们的一些实践感到厌倦的阶段,并希望以一种有用的方式扩展和简化并生成一些东西,不仅对我而言,还有办公室中的混合程序员Web开发人员.

一位员工给我们留下了一个PHP编写的MVC网站,我不得不维护它,我得到了它的工作方式,但有我的抱怨,我的主要抱怨是它与每件依赖于另一件的紧密耦合.我看到了分离问题的优势,但除了我看代码之外,这对任何人来说都会让人感到困惑.

因此,例如,如果我需要向网站添加页面,我必须添加视图,然后添加模型,然后更新控制器.制作新页面的特殊方法比这简单,并且不需要程序员.

我的判断是,这是一个更好的方法来构建,而不是维护一个网站.

不过,如果我有一些设计模式,我可以有效地重用代码而不依赖于网站中的多个位置,那将是很好的.

所以我的问题是,是否有一种用于构建和维护更松散耦合的网站的设计模式?我不是在寻找MVC上的细微变化,我需要看一些完全不同的东西,也许某种类型的插件方法.

编辑:

谢谢你到目前为止的答案!一种不同的方式是我希望代码在我的办公室里做得更好.我是否A)推动MVC或B)寻找/构建替代方案而不是让半程序员感到困惑.我们已经使用类来连接数据库连接和表单帮助.这个问题的关键是探索B.

代码混乱之间始终存在折衷,因为它是高度解构主义者,而代码令人困惑,因为完全需要做X的所有事情都是随机分散在一个文件中.

后者的问题在于,究竟什么是将事物分成单片模块的“直观”方式因人而异.高度分解和分解的代码几乎总是更难以解决,但一旦你这样做,维护变得容易.我不同意除了作者看到它之外,其他任何人都会感到困惑.使用像MVC这样的大范围模式,因为随着时间的推移,更容易发现它们并处理围绕它们构建的项目.

使用MVC的另一个好处是,如果您不坚持使用分层,通常不会使应用程序更难以维护.这是因为现在您有一个预定的位置可以放置实现新功能的任何方面.

就考虑紧耦合而言,如果层之间没有某种连接,则无法实现功能.松耦合并不意味着这些层完全相互无知 – 这意味着层应该不知道其他层是如何实现的.例如:控制器层不关心您是使用sql数据库还是只编写二进制文件来在数据访问层保留数据,只是有一个数据访问层可以为它获取和存储模型对象.它也不关心你是否在视图层使用原始PHP或Smarty,只是它应该为某些预定的名称提供一些对象.视图层甚至不需要知道有一个控制器层 – 只有它被调用,数据才能在/ something /提供的上述名称显示.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...