不清楚这种分层的意义是什么。
百度了一圈似乎没有找到这方面的文章,还请大家赐教
以下内容摘自tp5手册
ThinkPHP支持模型的分层 ,除了Model层之外,我们可以项目的需要设计和创建其他的模型层。
通常情况下,不同的分层模型仍然是继承系统的thinkModel类或其子类,所以,其基本操作和Model类的操作是一致的。
例如在index模块的设计中需要区分数据层、逻辑层、服务层等不同的模型层,我们可以在模块目录下面创建model、logic和service目录,把对用户表的所有模型操作分成三层
数据层:app\index\model\User 用于定义数据相关的自动验证和自动完成和数据存取接口
逻辑层:app\index\logic\User 用于定义用户相关的业务逻辑
服务层:app\index\service\User 用于定义用户相关的服务接口等
看到你修改了问题,并对问题做了详细描述,那么,我来好好的回答这个问题,其实整套分层的意义很简单,不外乎围绕的是根本原因:
程序 = 数据结构 + 算法
所有的层的拆分都是围绕着数据结构和算法来整理的,分层的根本意义也是为了让逻辑更加清晰易懂,首先,来看看你摘自TP官网的定义:
其实他官方的解释已经挺清楚了,但是如果你没有接触复杂的业务可能不太理解这三层的定义,我逐个就我遇到的一些业务问题来做详细的讲解:
数据层
逻辑层
服务层
从以上三个方面来看,数据层可以说是程序的
数据
,而逻辑层是程序的算法
;当然这个角度又是从宏观角度来看待的。而服务层又能把各个逻辑关联起来,起到很好的整体性,能提供给应用上层调用,减少代码的冗余,可以更好的复用。另外我看到有人回答说用java来写,我觉得这就是语言论了,程序的根本就是思想,老是想着语言相关性,不知道意义何在,我更趋向于语言无关性,借鉴不同的语言特性思想,来表现不同的业务逻辑。