最近想把手头项目规整一下,发现很多东西在过去想做没做成,但是现在真想做的时候,不敢下手了。
比如
第一个问题,STRUTS2通配符配置问题:
<action name="*_*" class="com.{1}Action" method="{2}">...
我的疑问是,Action那么多类,全都放到一个包下边吗?像上边的例子里,基本上JSP都在一个路径下,CODE也在一个包下,如果项目大的话,恐怕会很恐怖啊。
过去我们是一个模块的ACTION放到一起,模块是一部分包路径,但是,现在整理代码的时候,如果使用通配符配置,那么就要把所有的ACTION放到一个包里,因为开发都是自学,没接触过其他公司的项目,无法知道其他项目是怎么做的,但是这样整理,我感觉很不舒服。
第二个问题,类与包的问题:
我们的项目中一个模块或者子模块要有独立的SERVICE,IMPL,DAO,加上ACTION,MODEL
过去两个项目做了不同的放置方式,
一种是com.part1.a.service.Aservice,com.part1.a.serviceImpl.AserviceImpl,com.part1.a.model.A;
另一种是,
com.part1.a.Aservice,com.part1.a.AserviceImpl,com.part1.a.Adao;
不知道有没有更好的放置方法?
其实这么放都是为了找代码的时候方便快速,但是前者创建了太多的包,基本上每个表都要有4-5个包保存,
后者所有东西放在一起,感觉好像层次感欠缺。
第三个问题是,接口使用的问题:
比如说,删改增作为一个泛型接口,del<T>等,是抽成一个通用的接口,让每个SERVICE继承好,还是每个SERVICE写一遍?比如我以前的一个同事常用的写法:delA(); updateA();
基于这个问题,其实还有一个相关的问题,就是实现类中,是每次都重新实现好,还是继承自一个父类实现类(其中调用一个基础的DAO进行通用的增删改操作),当特殊需要的时候重写父类方法?
过去我曾经做过继承的写法,但是后来出于可读性的考虑,又回归了原始写法,即基本的操作全都定义出来,包括DAO中也重新定义一遍。
第四个问题,继承问题:
假如第三个问题的解决方法是使用继承的话,是整个项目继承自一个基类,还是每个模块各自建立一个父类继承?如果都继承自同一个基类,以前曾经有过方法增加数量太大,无法减肥的时候(也许是我的水平不够),也好像每个模块不能单独运行。
第五个问题,工具类库的问题:
当时间很长的一个项目,写了很多工具类库,这些类库又依赖一些相关包,当一个新的项目不大需要这些工具类的时候,相关包的删除就成了问题,我想知道,是否应该在每个新项目建立的时候,都保留所有的工具类库?
第六个问题,JSP文件及JS存放问题:
基本上每个页面都有很多JS,有些抽成通用的,有些没有,我想知道的是,比如一个USER操作的相关页面和JS ,在项目里是怎么放置好?建什么样的文件夹保存JSP,什么样的文件夹保存JS,需要不需要都放在统一的模块下边,还是JSP与JS就是两大块全部分开?
其实也知道,这些只是规范问题,我真的想知道这些规范都是在什么情况下被人提出而被人认可的,这些规范的来源,被提出的原因,解决的是什么问题,思考一下,如此而已。
分享到:
相关推荐
标题中的“自己很久以前做的玩的一个小软件”表明这是一个个人项目,可能是作者在学习编程或业余时间创作的一个小型应用程序。这个软件可能包含了作者对编程技术的初步理解和实践,或者是对某个特定功能或游戏机制的...
我写这篇文档的目的,就在于做一个整理和汇编,把很多零散的、前人已解答过的问题分门别类整理出来,并添加一些自己制作电调时的经验和总结。 在参考一些关于无刷电机驱动的书籍和帖子的时候,发现高手或是大师好像...
不是很多,我个人觉得比较典型的,时间长了一些不常用的细节问题都快忘记了,也许是轮子用多了吧,如果能在赶项目进度的时候抽出时间,总结回顾下一些知识,也是很不错的,没事的时候自己写写轮子,会有意想不到的...
想了很久,如果是要自己画每一个项的背景,文字,图片,则花费的时间太过多,会赶不上项目的进度,就取了巧,把奖项和转盘指针分别作为一个独立的整体,只做旋转和角度判断就行,这样就会节约很多时间,就算以后更新...
在单片机论坛混久了的坛友肯定都知道吴鉴鹰老师,吴鉴鹰老师给大家分享了很多关于单片机知识的帖子,还是超长的连载贴,为了方便大家阅读,我将吴老师的帖子整理了一下 ( 一共161楼,整理成828章),提供给大家下载...
【标题】中的“用SWING做的--酒店管理系统(很久以前的作业)”表明这是一个基于Java Swing开发的项目,用于模拟和管理酒店的日常运营。Swing是Java提供的一个图形用户界面(GUI)工具包,用于创建桌面应用。在这个...
OSGi(Open Services Gateway Initiative)是一种Java模块化系统,它允许开发者将...对于"河北学校.txt"这个文件,它可能是某个研究项目或案例分析的数据文件,但与OSGi的主题不直接相关,因此在此不做进一步的讨论。
很多人做测试做时间久了,经验、能力都有了的时候,少不了要承担更大的任务,其中做为TL负责一些项目的测试也是很多测试人员发展的必由之路。下面把个人项目测试经验或者说心得 很多人做测试做时间久了,经验、...
Mui开发webapp项目demo,找很久很多demo 发现这个demo做的最好一个,现在分享个大家,希望能给大家对学习Mui有所帮助
可能时间间隔得有点久了,之前学的东西很多都差不多忘记了,做这个项目基本上都是看官方的文档一点点做的。在家里也免不了各种各样的事情耽误了项目的细节。现在终于差不多完成了,分享出来,新手上路,如有错误,请...
所有,很多时候感觉,自己用过的东西真多呀 !但是真正深入研究的东西却不多面试,是跳槽后第一个需要面对的问题;而且不同公司面试的着重点不同;但是却有一个共同点:Java 基础是必考的。 工作第一年,可能问你 ...
大学生兼职已是大学校园里的一种普遍现象,其存在很久,已经成为大学生生活的有机组成部分,是一种不可忽视的现象。智慧校园项目的出现将改变大学生生活的样貌,提前适应企业工作模式,提高学生实践能力,解决大学生...
很多的同学认为学习.NET 开发要比学习 JAVA 做项目要容易吧,不过用.NET 做一个小程序很简单, 但要你开发一个商业化系统就没那么容易了,而这套框架的目的就是让新手开发一个系统,就像他 们开发一个“计算器”小...
分享初衷:最近在做前后端分离项目,用到了文件上传下载功能,找了很多类似的案例,基本上都是相互转载,很少有原创的(总之找了很久没找到合适的),最后没有达到我想要的预期效果,故写此篇博客。 需求背景:以前在...
项目很可能使用WebSocket协议,创建持久的双向连接,使得服务器和客户端可以实时交换消息,例如棋步的发送与接收,以及房间状态的同步。 5. **游戏逻辑**: 象棋的规则复杂,项目中必须实现这些规则以确保游戏的...
WEB行业知识更新特别快,今天一个框架的新版本,明天又是另一个新框架,有时往往根据项目的需要来不断学习新东西有,很多时候感觉,自己用过的东西真多呀;所!但是真正深入研究的东西却不多。 面试,是跳槽后第一...