maven和dubbo分包分模块的一些设计原则

1:web先分模块再分包

     com.pig8.user

                       controller

                       vo : (req 和res)UserReq.java  UserRes.java

                       pb

    com.pig8.message

                       controller

                       vo :  (req 和res)

                       pb

   com.pig8.intercepters

2: api分包如下

 com.pig8.user.service

                         model:User.java(javabean,这个相当于DO,接收了web端传过来的vo,然后可以进行转换)

                         exception:UserException(将异常更加细化,1是可以更加明确是哪个模块的什么异常,而不是统一的Exception,定位不到问题)

                          api:UserService(接口)

                         criteria:查询的对象封装

3: api-impl分包如下

com.pig8.user.service

                            impl:UserServiceImpl(接口的实现)

                            util:工具类

                            task:定时任务

                            dal:数据抽象曾

                                   UserDal:(先查缓存,再去查数据库,再刷新缓存)

                                    cache:UserCache.java(缓存层)

                                     db:1:UserDao.java, 2:UserPO,3:UserExample...(数据库层)

                                      search:UserSearch.java(搜索引擎)

                              

重构一下这个代码:

   1:开发效率至少提升30% :

                1:对于之前的mybatis,比如查询同样的一个订单,不同的查询条件,需要写不同的sql,现在只用一个查询方法,传入一个Critiria对象,增对于一个订单的新增和修改不同的字段,也只用传入对象,而不用每次修改一个字段新增一个方法

                 2:java的PO对象对应自动生成,mapping脚本自动生成

                 3:之前的请求处理

 2: bug至少减少20% 

 3:可读性至少增加40%

  4:扩展性至少增加50%

                             

                    

                         

    


     


转载于:https://my.oschina.net/jwayGod/blog/534938

你可能感兴趣的:(maven和dubbo分包分模块的一些设计原则)