有用java是从头开发的吗
还是说大部分情况都是找个开源的,改改弄弄 --------------------编程问答-------------------- 一般都是从头开发啊,除了二次开发以外!不过如果开源的可以满足所有业务的话也没有必要从头开发! --------------------编程问答-------------------- 能不从头就不从头,有必要从头就从头 --------------------编程问答--------------------
显然都是从头来,又不是盗版 --------------------编程问答-------------------- 我只能说,有! --------------------编程问答-------------------- 不从头的话 你放心么? --------------------编程问答-------------------- 重头不重头都搞过 --------------------编程问答-------------------- 麻烦大家说的具体点啊,至少学校里接触过的都是找开源的,从头开发都毕业了 --------------------编程问答-------------------- 从头啊,或者自己以前做过的东西如果还能用修改一下。 --------------------编程问答-------------------- 一般很少从头,都有自己架构的 --------------------编程问答-------------------- 有从头开发的,一般定制项目的,比如专门给某个单位或机构做的话,那就可能要重头开发。有些公司有已经成熟的产品,再卖出时,就根据新的买家的需求,改改就是了。个人简介 --------------------编程问答-------------------- 1 架构肯定要在多年的基础上做好了的, 适用自己所在行业任何实际项目中.
2 有新项目,如果与以前的功能不同, 用自己的架构基础上开发功能.
架构 包括内容:
一般java项目是:
a 集成连接池(apache的就行),
b 日志(apache的就行)
c 导出excel(apache的就行)
d spring,
e (不要hibernate,可以考虑ibatis,一般jdbc自己在spring基础上做,性能最好,扩展最方便)
d axis(apache,webserivce包)
e mima(apache的网络通信包)
f 中小项目要集成内存数据库,如果缓存 200万以内的记录, 直接自己用map缓存性能最强,最方便.
g 使用者表,功能表,使用者机构
h 登录过程,
i 在g,h的基础上做 公共授权核心处理,提供所以用户与功能的授权api
j 如果有流程,则在 g,h,i的基础上再开发工作流核心处理: 流程定义,流程实例产生,流程ID产生,流程控制(下一步,回退,暂停等功能)
以上就是一个软件的基础要素,
-----------------------------
下面是一个软件结构的核心层次定义,就是任何功能开发,都要用这种试,新手,老新一用就通,维护过程统一.
1 dao层接口,jdbc方式实现,net网络方式实现,用来查询,增加,修改数据最底层操作,
定义以下几个接口 insert, delete, update, findData(带where条件半通用查询), 批insert,批update,批delte, 7个基本接口.
2 service层接口,pojo实现, 基本接口也如上,
serivce一般用来封装 dao层给外面的程序用, dao层只能是serivce调用,其它功能中最多只能到serivce层.
3 business,业务层, 复杂的业务处理,if判断,授权决断,数据转换.....所有业务内容,处理完就给 action.
4 action层, 调用business处理业务,封装数据...拿到结果
4 webserivce层 也是第四层, 调用business处理业务,封装数据...拿到结果
5 异常层 1,2,3,如果不是业务需要,则都不控制异常, 如果业务有需要则自己处理异常,同时产生自己的定制异常,全部在这一层接信,处理...保证系统不出问题:这种异常隔离层 内置到action, webserivce层.
全部定义完成之后, 开发功能过程:
1 开发dao-->serivce-->business--->action(或webserivce),并内置异常隔离层.
一般来说,一开始大家一起把dao,serivce 全部开发完成(实际基本的7个方法,也可以扩展更多),
然后分配功能给大家做, 各做各的business, action, jsp(项目一般用work等开源框架就行),
2 开发完成后,通过公用的授权,把功能分开登录者使用....
3 重复 1,2项目开发完成......
4 总结项目经验----->变成通用产品(集成部分基本行业中最基本的功能), 然后其它项目从这个上面再开发.....
5 最后变成 taobao 这样强大的软件...哈哈
--------------------编程问答-------------------- 一般都会用框架,不管是前台还是后台 --------------------编程问答-------------------- 至少我就没从头开发过项目.! --------------------编程问答-------------------- 以上产品结构,在数据量在单表 10亿行记录的系统中不存在任何问题,
大数据量关键是dao这层api的开发,分页操作最为复杂(baobao网这一层能操控多个数据库).
(spring支持多数据源配置,要多少就可以多少,一般最少配置2个数据源以备用) --------------------编程问答-------------------- 别外,如果觉得开发 dao,serivce麻烦, 可以自己做个代码生成工具,
只要输入表名自动生成 bean, dao, serivce 所有接口,实现类 1秒搞定...:)
特别是dao, update手易做图麻烦 肯定是做个通用工具自动生成啊.
--------------------编程问答-------------------- 这个必须顶啊!求互相关注。 --------------------编程问答-------------------- 年青人只要敢想,如果不会,则自己从头做起,不到二年必成公司核心,没什么难的,
我只是说一点经验.当你能从头设计系统时,你就觉得所有的事都是小意思
--------------------编程问答-------------------- 会引入一些框架,框架只是为了更方便。一般来说都是从头开发 --------------------编程问答-------------------- 大部分都要重头开始啊 --------------------编程问答-------------------- 不重新发明轮子。 --------------------编程问答--------------------
如果不发明轮子, 只用别人的是不会有进步的, 如果这样的话有 安卓 系统 为什么大家都要搞手机系统?
这不是不重新发明轮子?
要必须有自己的轮子!! 就象有自己的车子一样,才不会受人限制. --------------------编程问答-------------------- 在IT行业总有人说不要 不重新发明轮子, 我最反对不去重新发明轮子想法,
跟别人走,如果让人跟自己走, 他们有轮子,我有更强的轮子才行. --------------------编程问答-------------------- 我一直有想法,去把安卓的源代码全部看一次, 了解最基本的系统结构.
然后 用自己的想法重构一套操作系统, 做为自己智能机器人系统用.
我觉得国人的开发人员要个个有这个想法,那中国的操作系统就开花争艳了!! 不要受制后美国人. --------------------编程问答-------------------- 一个项目最多2、3个月,怎么从头开发,明显不现实
而且不是web方面的,根本没什么框架,只能找开源的 --------------------编程问答-------------------- 看需求的啊,我在学校里,也是有从头写的。 --------------------编程问答--------------------
学习了.我用的模式一般是 DB--dao--dto--service---action.
兄台你的bussiness层可不可以详解一下? 饥渴求学中 --------------------编程问答-------------------- bussiness层 原来在我们公司也是没有人使用,是我创立的,但是在这个行业来说并不是独创,
因为很多做平台的公司,他们从来不公开产品结构, 大家无从学习, 也可以说我是引进国内二次开发平台的体系.
为了便于功能独立性,维护性一个功能包括以下几部分:
1层 dao 这个不用说了都知道.
2层 service 原则上dao不能随意给别人调用,所以用service封装成原子服务如 delete(long id),没有业务.
3层 bussiness ,由于dao,serivce是原子性的, 所以bussiness可以调任何service,如登录业务:
a) 调用用户serivce,检查用户,检查密码.
b) 处理用户 session等其它内容
c) 如果正常用户,则处理功能,调用权限serivce,得到菜单权限,进入系统后只显示授权菜单.
......这就是业务,这些要独立出来,以后别人也能共用这块逻辑..
4层 action, 接收bussiness处理好的结果, 处理页面,验证页面数据有效性,验证完后交给bussiness.
4层 webserivce (有时要提供webservice服务,调用bussiness发布数据,不需要action,jsp了).
另外还有,辅助包,不能算层:
dto, 普通bean,可以在entity上组合,继承,扩展而成,也可以是随更搞的.
entity, 严格与数据库对应的实体bean
helpers, 在这个功能中大量重复的代码片段, 抽出来做个一个个helpers叫协助类,
这样bussiness逻辑更清楚, 有时bussiness代码非常大的.
bussiness 叫业务逻辑,处理项目中业务相关的东西, 业务随意变,只改逻辑就行,
每一个功能都有自己的 bussiness, 从各serivce中拿到数据进行业务处理.
serivce 由于只用来公开dao, 不做处理或只做少量的参数拆分工作, 没有业务代码, 这样一来独立性强.
由于没有业务,所以能被任何需要数据的 bussiness 调用, 代码重用性非常高.
--------------------编程问答-------------------- 提示,不要把业务代码,判断,处理逻辑写在 action里
action本身应当只处理页面来的东西,校验数据,整理参数, 处理session,
如果这些不通过,根本不要调 bussiness 来处理, 这样以来action层任务明确, 简单明了.
action + 页面 只有一个任务: 做好用户的交互漂亮的显示数据, 严格校验提交用户参数.
补充:Java , Java SE