Mar*_*inL 47 java architecture model-view-controller naming-conventions
也许这对你来说很明显.我是java的新手(半年工作),我与同事讨论过.根据他们的职责,我很难找到我的课程.为此,我的班级获得了他们不应该承担的责任.
你能帮助我吗?
顺便说一句:我正在一个项目中工作,我必须使用服务类的持久层.我已经将我的包拆分为模型,服务和持久性.
Daf*_*aff 53
这些术语背后有某些模式和指导方针,这是我通常的基础:
控制器基于模型 - 视图 - 控制器设计模式,应明确用于基于此设计模式实现控制器功能的类.例如,如果您正在使用Spring MVC并从一个Controller类扩展.
服务稍微不那么具体,但我建议将实现基于"模式的企业应用程序架构 " 的服务层模式.基本上,控制器更具有平台特定性(例如,通过HTTP传输和渲染超文本,通常是基于Web的控制器的HTML),服务不应该知道谁在使用它以及如何使用它.您只是提供一个统一的界面,可以通过Web控制器依次使用.
经理们 ......管理好东西.连接,应用程序上下文,会话; 通常作为整个应用程序中的组件可以与之交谈的中心位置.
mpr*_*hat 12
有关命名惯例,请阅读官方惯例.
经理 - 正如名称建议管理代码中的东西,如EntityManager,它管理实体,TransactionManager - 它管理交易.因此,您可以使用称为SecurityManager的东西来管理哪些Algo用于加密等
控制器 - 名称再说一遍,控制需要做什么,或者如何完成工作.例如,ActionController - 负责接收用户操作事件时要做的事情
服务 - 考虑像postalService这样的事情,一个人在一般情况下执行的任务,你可以利用它.
打包代码需要经过深思熟虑,您的应用程序打包应始终与其所适用的业务模型保持一致.
除了商业模型,您还需要考虑该功能是否是应用程序的核心,因此您将把它移动到核心,比如该功能是否要与其他应用程序通信,您希望在集成下移动它等等.