[跪求]关于mvc构架设计问题

朽木可雕 2012-09-26 09:21:08
我现在想设计一个关于三国杀类型的棋牌游戏,
游戏的模型层我的设计有
武将
卡牌
玩家
业务层设计的有
武将规则
卡牌规则
控制层设计的有
回合开始阶段触发武将技能,卡牌技能
判定阶段触发武将技能,卡牌技能
抹牌阶段触发武将技能,卡牌技能
弃牌阶段触发武将技能,卡牌技能
回合结束阶段触发武将技能,卡牌技能


关于业务层和控制层我的设计有什么问题,如果不合理正确的设计应该如何设计,控制层具体负责哪些功能,业务层具体负责哪些功能,各位大侠能解释下么?
...全文
317 17 打赏 收藏 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
朽木可雕 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 的回复:]

引用 18 楼 的回复:

引用 17 楼 的回复:

引用 14 楼 的回复:
哪有没有关于程序如何构架方面的书,我想看看


MVC是设计模式,去看GOF吧 《设计模式》第一章总览我记得就介绍了MVC

我现在发现,在开发程序中我不知道哪些功能放在M中,哪些放在V中,哪些放在C中。


花一天 做个简单的基于MVC框架的小程序 比如ruby on rails ……
[/Quote]
像一些比较简单我感觉我挺明白了,比如说什么管理系统之类的,OA之类的,但是如果把MVC放在游戏中,我就不知道哪些放在M中哪些放在V中了哪些放在C中了
Anar0821 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]

引用 17 楼 的回复:

引用 14 楼 的回复:
哪有没有关于程序如何构架方面的书,我想看看


MVC是设计模式,去看GOF吧 《设计模式》第一章总览我记得就介绍了MVC

我现在发现,在开发程序中我不知道哪些功能放在M中,哪些放在V中,哪些放在C中。
[/Quote]

花一天 做个简单的基于MVC框架的小程序 比如ruby on rails 就明白很多了
朽木可雕 2012-11-01
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]

引用 14 楼 的回复:
哪有没有关于程序如何构架方面的书,我想看看


MVC是设计模式,去看GOF吧 《设计模式》第一章总览我记得就介绍了MVC
[/Quote]
我现在发现,在开发程序中我不知道哪些功能放在M中,哪些放在V中,哪些放在C中。
Anar0821 2012-11-01
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]
哪有没有关于程序如何构架方面的书,我想看看
[/Quote]

MVC是设计模式,去看GOF吧 《设计模式》第一章总览我记得就介绍了MVC
Anar0821 2012-11-01
  • 打赏
  • 举报
回复

[Quote=引用 15 楼 的回复:]

引用 12 楼 的回复:

CONTROLLER应该是负责转发请求及对请求进行处理
VIEW应该是在图型介面设计
其他所有的计算及实作都在MODEL(以上二项之外的都在这里)


那关于对张辽通过点击武将头像来获取玩家ID的操作应该放在,MODEL中么?
[/Quote]

Controller 里, MODEL只负责和数据库进行交流
Anar0821 2012-10-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 9 楼 的回复:
大虾所以我一直在迷茫的地方就是这里,我也不知道这个程序的构架应该如何搭建起来,还请各位大侠为小弟指点迷津啊!!!!!

[/Quote]

我不是大虾,只是凑热闹的。。 对于J2EE我也是刚接触,不过我觉得楼主可以先做好OO的设计,想好都有什么类,什么方法,怎么产生这些类,怎么调用这些方法。然后再说架构的事情。不要为了用BEAN而用,看看哪里需要在决定怎么做。架构的作用只是为了让你写出维护性,可读性比较漂亮的程序。
朽木可雕 2012-10-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

引用 6 楼 的回复:
但是这样的设计有一个问题,就是当我是张辽的时候,我必须要在VIEW输入,然后在Action判断是否此玩家有这个阶段可以进行,还用张辽的技能来说,我必须在VIEW里面设置张辽的信息来输入,我不知道如何设计控制和视图的联系,VIEW和控制里面应该如何设计功能呢。张辽突袭玩家的数据的获取应该放在哪个层次里面。

VIEW 和 CONTROLLER 在MVC里应该是没有任……
[/Quote]

大虾所以我一直在迷茫的地方就是这里,我也不知道这个程序的构架应该如何搭建起来,还请各位大侠为小弟指点迷津啊!!!!!
朽木可雕 2012-10-03
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

CONTROLLER应该是负责转发请求及对请求进行处理
VIEW应该是在图型介面设计
其他所有的计算及实作都在MODEL(以上二项之外的都在这里)
[/Quote]

那关于对张辽通过点击武将头像来获取玩家ID的操作应该放在,MODEL中么?
朽木可雕 2012-10-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 10 楼 的回复:

引用 9 楼 的回复:
大虾所以我一直在迷茫的地方就是这里,我也不知道这个程序的构架应该如何搭建起来,还请各位大侠为小弟指点迷津啊!!!!!



我不是大虾,只是凑热闹的。。 对于J2EE我也是刚接触,不过我觉得楼主可以先做好OO的设计,想好都有什么类,什么方法,怎么产生这些类,怎么调用这些方法。然后再说架构的事情。不要为了用BEAN而用,看看哪里……
[/Quote]

哪有没有关于程序如何构架方面的书,我想看看
cscxxx 2012-10-03
  • 打赏
  • 举报
回复
CONTROLLER应该是负责转发请求及对请求进行处理
VIEW应该是在图型介面设计
其他所有的计算及实作都在MODEL(以上二项之外的都在这里)
Anar0821 2012-09-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
但是这样的设计有一个问题,就是当我是张辽的时候,我必须要在VIEW输入,然后在Action判断是否此玩家有这个阶段可以进行,还用张辽的技能来说,我必须在VIEW里面设置张辽的信息来输入,我不知道如何设计控制和视图的联系,VIEW和控制里面应该如何设计功能呢。张辽突袭玩家的数据的获取应该放在哪个层次里面。
[/Quote]
VIEW 和 CONTROLLER 在MVC里应该是没有任何联系的,只要接口相对应就可以了。
所以,我觉得如果你要从MVC的角度来设计的话 所有对于数据的操作都是在COTROLLER里的,VIEW只是对数据状态的反映。

另外,我觉得你的问题更多方面是程序架构的问题,不是设计模式的问题。。。
LucEaspe 2012-09-29
  • 打赏
  • 举报
回复
你这什么跟神马啊?MVC 是什么搞清楚了吗?
朽木可雕 2012-09-29
  • 打赏
  • 举报
回复
请各位大虾帮我解决下吧。。。。
Anar0821 2012-09-28
  • 打赏
  • 举报
回复
额 我是半调子,不过也插一嘴:
MVC 应该是 Model, View 还有 Controller 三部分,
(业务层是三层结构里的吧。。)
这个是我对三国杀进行的模式设计:
Model里应该是:
游戏进行中的数据:
1.玩家的生命值,武将名,玩家当前技能(和武将名应当没关系,考虑到武器技能,觉醒技,限定技能,以及左慈),附加状态(就三国杀来说 性别,攻击距离,特殊状态 比如武将牌翻面 等),判定区,当前手牌 等等。同时,考虑到扩展性,我们可以把手牌也作为技能的一种,即没回合根据玩家的手牌,赋予玩家该回合不同的技能。
2.游戏的状态:主,忠,反,牌库等等。

Controller控制器:
主要负责改变数据模型
1.处理游戏流程,胜利判定等等
2.出于扩展性考虑,控制应该包括各种各样的效果:比如,伤害,弃牌,抓牌(偷牌可以是弃牌和抓牌的组合,判定,进入某阶段,跳过某阶段,武将牌翻面(可以看作跳过所有阶段)等等,我们可以通过各种各样的效果组合 来实现不同的控制效果。
3.UI的移动,显示的信号控制

View 视图:
就是UI Layout了,通过各种手段把数据表现出来,受控于控制器。

这方面经验尚浅,还希望各位大侠提点。
  • 打赏
  • 举报
回复
控制层具体负责哪些功能,负责屏幕响应鼠标,判断鼠标点击的目标等
业务层具体负责哪些功能,负责按规则判断以及读取数据模型给表示层。
朽木可雕 2012-09-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

控制层具体负责哪些功能,负责屏幕响应鼠标,判断鼠标点击的目标等
业务层具体负责哪些功能,负责按规则判断以及读取数据模型给表示层。
[/Quote]

比如三国杀中有一个武将叫张辽,他能偷别人的牌,在偷牌的过程中,张辽选择偷牌的对象的时候是放在业务层还是控制层,

我是把偷牌的功能放在业务层了,同时业务层还负责偷牌时候输入偷牌对象,我感觉输入偷牌对象不应该放在业务层中,但是又不知道怎么把此功能抽离出来。
朽木可雕 2012-09-26
  • 打赏
  • 举报
回复
up up 自己顶下

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧