最近用这玩意来敲代码,感觉的确蛮有趣的,至少不会像前面那样分分钟钟程序就不能运行了,然而在使用中老是会有一种疑问,那就是每层到底该干什么,或者说什么该干,什么不该干。
看到的关于每层的定义是这样描述的:
1.UI层,负责用户的输入和输出显示
2.service层负责处理业务,也就是运算等等等等;
3.database层负责整体的存储数据吧
4.model层提供要使用的类型的模板,也就是引用类型,或者类类型,这些包含了许多类型的复杂数据。总要告诉程序,这是什么类型的数据。
疑惑在于:
举个实际点的例子吧:
1.UI层做的里面也有if else 或者 switch等语句来进行判断,比如菜单吧,各种跳转等等,那么我先在UI层建立个类型A吧,然后在sevece层写个带参 + 返回值为A类型的方法,直接调数据库的某同A类型的数据给service的方法,不就是直接能让UI的类型A直接使用操作了吗,这样感觉是不符合的吧?甚至在UI层写菜单的时候为什么输出菜单目录啊判断什么的什么不是写成方法?
举例说明:就拿写游戏来说,游戏人物和怪物的对战过程(文字描述那种,比如,“玩家” + player1 + “打死了怪兽***”),那么我是在UI层进行战斗过程并且输出过程呢(循坏实现这样甚至涉及调取方法),还是要去service层做个方法来进行然后返回一个结果这样,但是在这样的情况xia
2.service层里,为了实现某功能,那么我是在service里写方法还是在model的类上写方法?