我已经学习了Yii2框架几周了。其核心概念之一是" Fat模型,瘦控制器"。阅读advanced application template的源代码我发现由于这个概念,几乎所有逻辑都包含在模型中。
嗯,如果我没有使用Spring MVC的经验,那么根本就没有任何问题,其中服务层似乎是将应用程序的逻辑与其实际数据分离的一种自然方式。
所以问题是:在使用Yii2构建的应用程序中实现类似企业的结构是否是一个好习惯?更具体地说:是否值得将Yii的模型分解为实体,DTO和服务?
提前谢谢!
PS:这个问题看起来似乎过于抽象或主观,但对Yii2几乎没有经验我想知道Yii2中是否有任何架构特征可能使上述实现不是最佳的关于代码维护,性能等等?答案 0 :(得分:1)
您实际上可以创建非ActiveRecords的模型,因此它们实际上成为您的服务层,只需要根据您的需要从yii\base\Model
或yii\base\Object
扩展,并实现您需要的所有逻辑。您还可以在名为services的另一个文件夹上创建这些模型,因此它们的名称空间将变为app\services\ModelName
答案 1 :(得分:0)