`
悲剧了
  • 浏览: 144352 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

项目分层与实际开发的思考

阅读更多
项目分层的大体结构如下前台用的是struts2:


层很清晰,但是实际开发却有问题

    比如,如果现在把struts2这一层替换掉,切换成手机端,那么后面的东西可以重用吗?业务逻辑等可以重用吗?
    现在service层就只负责了把dao加个事务的简单封装,或者组合点dao层的逻辑给个调用,大量的service注入到了struts层,struts2层就根据项目要实现的功能拼装出来业务操作,然后再封装出展现层的东西,然后去调用展现层,这个时候事务的控制就由于在action里面组合使用这些service而失去作用了。


    action层理论上说就是获取front层的东西,然后拼装出我们要的参数,然后调用相关service层的服务就可以了,但现在服务什么的大面积出现在action里面。

    这个原因估计是开发时候理解问题,虽然有分层,但实际分层还是没有很好的实现,分层成了一个概念上必须做的事情,而没有理解每层的职责。也就是开发时候,struts2使用必须明确,我只是调用注入的服务,通过服务得到前台要的展现,并且通过调用服务,让服务区处理一些东西。


总结带来的问题:
    实际方面:
1.action层代码臃肿,修改不容易看明白,很多类都达到了600行代码
2.事物控制不明确,带来事务部一直的的问题
    理论方面:
1.分层不明确,每层的职责体现不好
2.service太轻了,只是dao的简单封装
  • 大小: 3.2 KB
2
3
分享到:
评论
2 楼 yjingzeming 2011-09-16  
为了MVC而MVC,其实如斯,导致某些人会说只要Dao层不用service了
1 楼 白糖_ 2011-09-03  
这个东西需要经验积累,自从我尝试flex直接调用java service就明白Service层的重要性了。

相关推荐

    软件架构设计分层模型和构图思考.docx

    软件架构设计分层模型和构图思考 软件架构设计是一个复杂的问题,需要架构师具备系统思维、结构化思维、编程思维等多种思维模式。架构设计的核心作用是建立业务现实世界和抽象的 IT 实现之间的一道桥梁,要求架构师...

    关于计算机软件技术中分层技术的应用思考.pdf

    在实际应用中,分层技术广泛应用于网络通信、分布式系统、Web应用开发等多个领域。例如,在Web应用程序中,常见的三层架构包括表示层、业务逻辑层和数据访问层。表示层负责用户界面的交互,业务逻辑层处理应用程序的...

    .NET企业级项目开发-1期 模块四 系统核心信息管理模块.doc

    《.NET 企业级项目开发》课程的模块四是“系统...总结来说,该模块的目标是培养学生的实际开发能力,使他们能够设计和实现企业级的信息管理系统,掌握关键的开发技术和最佳实践,为后续的.NET项目开发打下坚实基础。

    基于GCC技术的智能化单片机集成开发环境.pdf

    与传统的“自下而上”方法相比,这种方式更符合人类的思考模式,有助于项目设计的系统性和连贯性。 “层次化软件设计思想”是该开发环境的另一个核心理念。层次化设计将系统分解为若干层次,每一层负责不同级别的...

    Java Web应用开发课程目标的研究与设定.pdf

    当前,该课程在教学实践中存在一定的问题,如教学内容过于侧重基础语法知识,导致学生难以完成实际项目开发,从而影响了课程的教学效果。为了解决这些问题,并对教学内容进行改革,研究者们提出了对Java Web应用开发...

    互联网背景下教学一体化的WEB前端开发课程教学模式探究.pdf

    课程实践的缺乏使得学生无法将理论知识有效转化为实际开发能力。教师在教学中往往忽略了对学生的引导,无法提供足够有效的问题解答和学习方法。 针对这些问题,提出了互联网背景下WEB前端开发课程教学模式的改进...

    依托校企联合研究所建立分层学习小班教学模式研究——以《单片机技术》课程为例.pdf

    校企联合模式在教育实践中的...该模式通过合理分层,让学生在学习的过程中形成阶梯式互帮互助的学习团队,同时通过参与科研项目与企业实践来获得实际工程经验,不仅提高了教学质量,还为学生的职业发展打下良好基础。

    devops落地思考以及规范参考

    DevOps是一种将软件开发(Development)与信息技术运营(Operations)紧密协作、自动化并持续改进的实践,旨在缩短从代码编写到生产部署的时间,提高软件质量和团队效率。在"devops落地思考以及规范参考"的主题中,...

    《WEB 动态网站开发》课程自我诊改报告.docx

    《WEB 动态网站开发》课程旨在让学生掌握Servlet技术和JSP技术,构建MVC架构的WEB项目。课程知识目标包括实现JSP+MYSQL的分页功能,而素质目标则强调职业道德、独立思考、自主学习、问题解决、团队协作等方面的能力...

    2009系统架构师大会PPT:姜昌华:关于开源协作学习环境Sakai的学习与思考

    ### 开源协作学习环境Sakai的学习与思考 #### Sakai起源、现状和发展 ##### 起源 Sakai项目起始于2004年,由美国的印第安纳大学、密歇根大学、斯坦福大学以及麻省理工学院共同发起。这四个高等教育机构联手启动了...

    22软件开发[1-2]班生产实习任务书.docx

    - 培养系统化思考与解决问题的能力。 3. **培养问题解决与团队协作能力**: - 在面对实际问题时,学会如何分析问题、寻找解决方案。 - 提高与团队成员之间的沟通与合作能力。 #### 二、系统功能需求详解 本系统...

    149-陌陌数据治理方面的思考与系统实践.pdf

    ### 陌陌数据治理方面的思考与系统实践 #### 一、背景与意义 随着大数据时代的到来,企业对数据的需求越来越强烈。数据不仅成为了驱动企业发展的重要因素之一,同时也是提高竞争力的关键。陌陌作为一家社交网络...

    CSLA.Net架构在分布式系统开发中的应用.pdf

    在实际的应用开发中,将面向对象的方法与分布式N层架构结合起来,可以大幅提升分布式系统开发的效率和系统的质量。例如,新余钢铁集团有限公司就将CSLA架构应用于其设备材料仓储集中管理系统,通过在CSLA架构下构建...

    小学数学分层分类教学实施计划方案.doc

    教师依据学生的实际能力制定不同层次的学习目标,比如在“求一个数的近似数”的教学中,目标分为基础、理解和提升三个层次。基础目标确保所有学生掌握基本技能,理解目标则要求学生能深入理解概念,而提升目标则是对...

    操作系统核心技术全面讲解

    使用场景及目标:帮助读者理解操作系统的基本原理和技术细节,掌握常用操作系统的特性和应用场景,适用于课程学习和实际项目开发。 其他说明:本书内容全面,理论与实践相结合,适合作为教材和参考书使用。通过阅读...

    以应用为目的单片机实验教学改革.pdf

    该模式注重将知识与实践相结合,通过项目驱动和分层递进的教学策略,使学生在解决实际问题的过程中学习和应用单片机技术。在此过程中,学生能够发挥主观能动性,培养独立思考和解决问题的能力。 5. 实验教学内容的...

    Applying UML and Patterns1

    《Applying UML and Patterns》是一本经典的软件工程著作,由Craig Larman撰写,它深入浅出地介绍了统一建模语言(Unified Modeling Language,UML)以及如何在实际开发过程中应用设计模式。这本书是IT行业内理解和...

    《J2EE体系结构及程序设计》课程评价分析

    (2)知识与技能目标要求学生掌握JavaEE开发环境、网页设计、数据库设计、SSH框架等,并能解决实际问题。(3)过程与方法目标强调学生自主学习和问题解决能力的培养,通过案例教学激发学生的思考和创新能力。(4)情感态度...

    计算机个人简历 (2).pdf

    他曾在互联网/电子商务行业的公司担任系统管理员/网络管理员,以及在软件开发部门担任软件工程师,积累了实际的项目经验和软件开发流程的深入理解。 在职业技能上,求职者具备良好的英语水平,对Java有一定的掌握,...

    获取java各种项目源码-spring-microservice-ddd:微服务+DDD代码结构例子

    微服务的划分与落地,其实也应该是以DDD的思想做去指导的,所以无论我们代码结构如何规划,也并非一成不变,应该从实际出发,去思考划分结构的意义。代码的分层是为了让我们的代码对业务的表达更加清晰。 此例子是...

Global site tag (gtag.js) - Google Analytics