摘要:
上一章讲过数据库层(Dao层)具有如下的特点: 1):整个系统只有一个DAO 2):支持多种类型的事务控制(单表,多表,混合) 3):查询支持Hibernate和原生SQL为什么我们会这么设计呢?这里引用一下sprigside2.0的实现: 1:定义一个Dao接口 /** * 针对单个Entity对象的操作定义.不依赖于具体ORM实现方案. * * @author calvin */ public interface EntityDao<T> { T get(Serializable id); List<T> getAll(); void save(Object o); 阅读全文
摘要:
系统架构我想把它分为两部分,一是技术架构,二是业务架构。 做任何一个系统,首先都要选择合适的技术来开发,这个要从两方面结合起来看,一是系统业务的特点,二是团队成员的技术结构,这里面的权重比我觉的是业务>技术。在鞋服行业,由于它的组织结构的特殊性(在全国各地都有分支结构),采用b/s结构为首选,技术方面我们团队只对Java熟悉,所以这次技术的选型很快就确定了. Java的流行框架目前很多,可以说是眼花缭乱,我们用的还是最普通的架构,SSH(struts+spring+hibernate),但是我们经过了自已的改写,形成了自已的一套技术框架.(改写重要参考的是springside). [总的 阅读全文
摘要:
如何组建自已的团队?这在每个人的心里有不同的做法. 我曾经在软件公司呆了很多年,看到过或者听说过很多失败的项目,有的项目虽然不能称作为失败,但也是延期了很久,不能按时按质的完成.有的人就会问了,客户不停的提需求,改需求,老板又要求我们立即要改,有时候甚至要推翻原来的。这里面有很多原因,老板是一小部分,自已占多数.我个人觉的,项目Leader应该强势的,而强势是建立在自已的自信,技术和经验上的。现在大多数的项目一般有产品经理和技术经理,产品经理负责业务,技术经理负责架构,这种结构很容易导致项目的难产或延期,原因一,责任分不清,可以互相推诿.原因二:没有人能掌握全局,每个人只知道自已这一部分.什么 阅读全文
摘要:
3:我所了解的鞋服行业要做好行业性的软件,认识熟悉这个行业是必不可少的。我就谈谈我所了解的。 先讲几个行业内的概念,鞋服行业的企业一般具有如下的多级组织结构: 分公司:公司旗下的分支机构,是属于公司内部,有的需要单独的成本核算,有的不需要,和公司的经营方式有关. 代理商、经销商:代理公司的商品销售,单独的法人组织,代理商一般出现在省会城市,它下面可以有自已的经销商,加盟商,自营店,而经销商常出现在市级或 县级城市,一般只会有自已的加盟商和自营店.所以按照大小划分,代理商>经销商. 加盟商:分为单店加盟或多店加盟店,单店加盟的我们叫加盟店,多店加盟的我们叫加盟商.按类型又可以分为买断型加盟 阅读全文
摘要:
1:一些题外的话 这次想写的这个主题对我来说还是挺有挑战的,甚至不亚于开发一个新的软件。主要是我的语言组织能力太差,记忆当中,从小学,初中,到高中,语文成绩就没及格过几次,如果兄弟姐妹们看到错字,病句之类的,可以指出来,也可以BS而过.我写的目的就是分享自已的开发过程,如果你能和我产生共鸣,能从中悟到什么,就请多多支持!2:来到一个新公司 2010年的8月份,我来到了XXX体育用品公司,担当整个供应链软件的项目总监。能顺利的到来并与之合作,整个进程实为不易。在这里,我要先感谢二个人,一是XXX软件公司总经理A先生,二是XXX股份制有限公司的总裁B先生.A先生是我的职业生涯中的一个贵人,我们开始 阅读全文
摘要:
最近在做erp电子沙盘项目,想要查看一局部变量的值,但又不想装firebug.ie8自带有一个功能:开发人员工具,可以很方便地进行javascript调试. 1:打开调试的页面 2:从工具里面,打开开发人员工具,转到脚本Tab,设置好断点,点开始调试。 3:刷新页面进行操作,当断点触发后:接下来你就可以进行调试了。 阅读全文
摘要:
要了解拒收,看懂源代码,至少要先看几次作者的原文档说明,他对拒收的定义以及约束在哪里。 拒收的含义是:当前操作者因为某种原因拒绝接收工作项,将已经发生的流转退回到前驱环节。 可以实现拒收的场景是:/** *拒收工单 */ public void rejectWorkItem(IWorkItem workItem, String comments) throws EngineException, KernelException { //取到工单对应的Activity Activity thisActivity = workItem.getTaskInstance().getActivity(). 阅读全文
摘要:
ActivityInstance.java /* Activity触发事件 * @see org.fireflow.kernel.INodeInstance#fire(org.fireflow.kernel.IToken) */ public void fire(IToken tk) throws KernelException { //打印权重. log.debug("The weight of the Entering TransitionInstance is " + tk.getValue()); IToken token = tk; //设置当前的节点实例ID t 阅读全文
摘要:
一个软件的设计,主键的产生原则是相当重要的,其系统性能与之息息相关。我自已设计过多个系统,在设计表主键的时候,用过很多种方式,现在设计的时候主要的一个原则是:性能尽可能的好,维护也尽可能的方便. 目前,常用的数据库主键设计原则是: 1):采用GUID作为主键,这种的优势就是全球唯一,无论是用数据库还是用代码,产生都很方便,维护很方便。但性能是最低的,使用的时候要注意. 2):采用数据库自动增长的方式。这种方式性能好,产生也很方便。但是维护很麻烦。一般的话,这种主键用于一些特殊的表,比如说日志表,其不需要维护. 3):采用int型作为主键,这种方式是性能好,产生也很方便,维护也方便,但是主键的. 阅读全文
摘要:
随着3G网络的快速发展,不仅给网民带来了新的体验,也同时给企业的信息化管理辟开了一条捷径。但是通过手机,PDA等终端同信息系统进行交互,还是有很多很多的限制,比如:流量费,屏幕大小等。目前还只能完成一些很简单的功能,比如:简单资料查询,单据审核等。 在鞋服行业,要用手机或pda完全代替电脑终端基本不可能的。但是它可以成为一个辅助的手段,在电脑或或网络瘫痪的情况下使用.我自已曾经做过一个鞋服行业的3G POS应用,性能和速度都非常好,功能和操作相对于电脑终端来说,简单了一些,主要有:商品查询,会员查询,POS销售,本日销售查询,销售查询,库存查询,库存分布查询.开发手机3G应用,要注意以下2点. 阅读全文