这是我在这里找到好的答案几年后的第一个问题。我正在重新编写我的一项工作,试图使用更深层次的 OOP 方法,但我不知道我所做的是否“正确”。
我想做的是一个简单的产品创建,但足够抽象,因此其他编码人员不必知道使用什么数据库,或者如何验证产品数据。就像简单的 create($attr) 方法一样。
这是代码的基本方案。
abstract class Crud_model_abstract {
# private vars
# getter for private vars
# setter for private vars
# some basic methods
}
class Product_model_crud extends Crud_model_abstract {
# private vars
# getter for private vars
# setter for private vars
# CRUD methods (using phpactiverecord.com lib)
}
然后是与 Product_model_crud 结构相同的类别、品牌等的一些类
现在我的问题是:我是否应该创建另一个构成实际产品的模型(将类别添加到它的表中,然后将品牌添加到它的表中......然后创建产品并存储它)然后从传递参数的控制器调用该模型,或者我应该将那个大模型(构成产品的模型)转换为控制器。
我相信我应该创建一个大模型,但目前我还不确定。我已经阅读了太多关于 OOP 良好实践的材料,但我对每一步都有疑问:D
我所理解的(如果我错了,请纠正我)我的代码中应该有足够的层以使其更加干净和具体。但在某些情况下,我看不出什么时候足够。
也许这是一个愚蠢的问题(当然!!)但我不知道我在做什么了!!谢谢!!