MikeDDT009 2017-04-02 15:01 采纳率: 0%
浏览 1611

ui层+service层+model+database算是四层框架?以及询问究竟每层该干什么的疑惑?

最近用这玩意来敲代码,感觉的确蛮有趣的,至少不会像前面那样分分钟钟程序就不能运行了,然而在使用中老是会有一种疑问,那就是每层到底该干什么,或者说什么该干,什么不该干。

看到的关于每层的定义是这样描述的:
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的类上写方法?

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-04-02 15:37
    关注

    一般database叫做dal,而service+model叫做bll,所以你的四层其实是三层的变种

    评论

报告相同问题?

悬赏问题

  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀