我正在寻找关于某种模块化设计形式的文章或其他文章。不幸的是,在我丢失它之前我没有完全阅读这篇文章,所以这可能有点模糊,但我会尝试尽可能具体,并解释我想做什么,以便有人可以建议其他文章
有问题的文章(博客文章)是由程序员根据他的经验说的,设计软件的最佳方式是采用某种模块化或基于组件的方法,以便可以为不同版本的相同或不同的组件选择不同的组件。类似的软件。
我记得的主要内容是图表显示了一个轴上的不同程序和另一个轴上的不同组件,并展示了如何为特定程序选择特定组件。
我正在寻找的原因是我正在处理一些非面向对象的PHP代码,这些代码太大而无法修改为面向对象。此程序显示不同的品牌Web应用程序,每个站点具有不同但相似的规则。目前大部分代码如下:
if($_SESSION['country'] === "Canada" && $_SESSION['brand'] === "X"
&& $_SESSION['type'] !== "1" || $_SESSION['brand'] !== "Y"
&& $_SESSION['type'] === "2") {
include("mod_something.php");
}
如果条件可能会在代码中的多个位置重复以包含不同的文件。
我想修改一些看起来更像:
if($_SESSION['component-red'] === true && $_SESSION['country'] === "Canada") {
include("mod_something.php");
}
并根据品牌和用户选择将组件变量设置在中央位置(站点使用前端加载或FrontController设计模式)。
有关如何实现此目的的任何建议或提示将不胜感激,但我不完全确定如何研究非OOP代码。
谢谢。
编辑:我接受过OOP教育,但这不是我的问题。
答案 0 :(得分:1)
我理解,花时间使用OOP可能对现有代码没有帮助。实际上,如果您不打算重写所有现有代码,建议如下:
switch
或if ... elseif ... else
根据现有源中的逻辑碎片,您可能需要拆分或合并某些模块。一旦我做了类似的工作,丑陋的电子商务网站的客户需要修改。完全碎片化的代码更好。
答案 1 :(得分:0)
我知道你想要在没有OOP的情况下完成它,但你所描述的实际上是OOP。你只需称它为“模块”,我们称之为“对象”,同样相同。
你应该做些什么,花一些时间学习OOP原则以及如何在PHP上实现它们。当这种情况发生时,您将开始看到使用对象和类的优势。