SlideShare a Scribd company logo
1 of 8
技术框架对比 TonyDeng http://friendfeed.com/tonydeng http://twitter.com/wolfdeng http://delicious.com/wolf.deng http://wolfchina.blogbus.com
概括 其实我现在使用的技术框架与现在公司大部分团队使用的技术框架没有什么实质上的区别。 关键的部分是在于在技术框架的使用程度和使用了模块化、面向服务的思想来进行项目的开发和管理 我使用Maven来进行项目模块的依赖管理及切分管理,使用Spring来合并服务,使用JUnit来保证模块和服务的可用性
技术框架对比 其他团队现在使用的技术框架: Spring Restlet iBatis/JDBC Webwork/Servlet Velocity/FreeMarker/JSP 我现在使用的技术框架 Maven Jaxb/XML Schema Spring Jersey IBaits SpringMVC JSTL
什么是模块化 为什么要模块化,什么是模块化? http://www.infoq.com/cn/articles/modular-java-what-is-it http://www.infoq.com/cn/articles/modular-java-static-modularity
我理解的模块化 如何定义一个模块 模块的划分主要是针对业务单元。 我认为一个独立的业务单元就应该是一个模块 比如在社区中积分是一个单独的模块,动态应该是一个单独的模块 怎样来划分模块(业务单元),更多的是依靠我们开发对模块化的理解以及对业务的分解 模块的粒度应该是怎样的? 模块的粒度(划分)应该满足以下约束: 应该是一个单纯的,不掺杂其他业务的业务单元。 模块应该提供一个标准化的接口对外提供服务。 模块应该是可以自主的演进的,服务模块的演进对其他的服务使用者应该是透明的,不可见,不需要知道的。
例子 在最近的骰子游戏中,我将这个项目所要使用的业务逻辑都按照模块化和面向服务的思想分解开规划。 根据我之前的约束,我将这个项目规划为一些模块 Club-core:社区基本/公用的模块,所有的模块都依赖这个模块 Club-integral:社区积分模块 Club-serurity:社区安全/权限模块 Club-game-rest:游戏具体逻辑服务以及REST服务 Club-game-wap:针对wap游戏的webapp模块
例子 Club-core Club-commons-vo:社区公用的domainmodel Club-game-vo:社区游戏的domainmodel Club-shared:社区公用的服务或帮助类(如缓存) Club-integral Club-integral-api:社区积分服务接口定义 Club-integral-impl:社区积分服务具体实现 Club-integral-dao:社区积分数据访问/持久实现 Club-integral-agent:社区积分服务代理实现 Club-integral-rest-web:社区积分服务rest服务配置
谢谢

More Related Content

Similar to 技术框架对比

Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
LetAgileFly
 
金蝶 Togaf 企业架构培训方案
金蝶 Togaf 企业架构培训方案金蝶 Togaf 企业架构培训方案
金蝶 Togaf 企业架构培训方案
pdffile
 
Ibmzf2
Ibmzf2Ibmzf2
Ibmzf2
daoopp
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
wangjiaz
 
(宇宏)生產履歷 建議方案 20100901 v2
(宇宏)生產履歷 建議方案 20100901 v2(宇宏)生產履歷 建議方案 20100901 v2
(宇宏)生產履歷 建議方案 20100901 v2
Sonny Chen
 

Similar to 技术框架对比 (20)

Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101
 
常用Js框架比较
常用Js框架比较常用Js框架比较
常用Js框架比较
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
 
金蝶 Togaf 企业架构培训方案
金蝶 Togaf 企业架构培训方案金蝶 Togaf 企业架构培训方案
金蝶 Togaf 企业架构培训方案
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
 
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
 
微博基于Docker的混合云平台设计与实践
微博基于Docker的混合云平台设计与实践微博基于Docker的混合云平台设计与实践
微博基于Docker的混合云平台设计与实践
 
Asp.net mvc 基礎
Asp.net mvc 基礎Asp.net mvc 基礎
Asp.net mvc 基礎
 
Ibmzf2
Ibmzf2Ibmzf2
Ibmzf2
 
專案分層架構 twMVC#18
專案分層架構 twMVC#18專案分層架構 twMVC#18
專案分層架構 twMVC#18
 
twMVC#18 | 專案分層架構
twMVC#18 | 專案分層架構twMVC#18 | 專案分層架構
twMVC#18 | 專案分層架構
 
twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用twMVC#10 | ASP.NET MVC Model 的設計與使用
twMVC#10 | ASP.NET MVC Model 的設計與使用
 
价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
 
微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu
 
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
 
(宇宏)生產履歷 建議方案 20100901 v2
(宇宏)生產履歷 建議方案 20100901 v2(宇宏)生產履歷 建議方案 20100901 v2
(宇宏)生產履歷 建議方案 20100901 v2
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
 

More from Tony Deng

《我们如何工作》—质量保障
《我们如何工作》—质量保障《我们如何工作》—质量保障
《我们如何工作》—质量保障
Tony Deng
 
《我们如何工作》- 产品经理和工程师如何有效沟通
《我们如何工作》- 产品经理和工程师如何有效沟通《我们如何工作》- 产品经理和工程师如何有效沟通
《我们如何工作》- 产品经理和工程师如何有效沟通
Tony Deng
 
技术债务的形成
技术债务的形成技术债务的形成
技术债务的形成
Tony Deng
 
我们不了解的计算机世界(二)
我们不了解的计算机世界(二)我们不了解的计算机世界(二)
我们不了解的计算机世界(二)
Tony Deng
 
我们不了解的计算机世界(一)--Unix目录结构的来历
我们不了解的计算机世界(一)--Unix目录结构的来历我们不了解的计算机世界(一)--Unix目录结构的来历
我们不了解的计算机世界(一)--Unix目录结构的来历
Tony Deng
 
实时任务调度
实时任务调度实时任务调度
实时任务调度
Tony Deng
 
节约内存:Instagram的redis实践
节约内存:Instagram的redis实践节约内存:Instagram的redis实践
节约内存:Instagram的redis实践
Tony Deng
 

More from Tony Deng (20)

一页纸项目管理
一页纸项目管理一页纸项目管理
一页纸项目管理
 
Docker at the gate
Docker at the gateDocker at the gate
Docker at the gate
 
《我们如何工作》—质量保障
《我们如何工作》—质量保障《我们如何工作》—质量保障
《我们如何工作》—质量保障
 
《我们如何工作》- 产品经理和工程师如何有效沟通
《我们如何工作》- 产品经理和工程师如何有效沟通《我们如何工作》- 产品经理和工程师如何有效沟通
《我们如何工作》- 产品经理和工程师如何有效沟通
 
我们为何工作--找到正确的工作方式
我们为何工作--找到正确的工作方式我们为何工作--找到正确的工作方式
我们为何工作--找到正确的工作方式
 
SDN介绍
SDN介绍SDN介绍
SDN介绍
 
漫谈职业规划
漫谈职业规划漫谈职业规划
漫谈职业规划
 
一次Http请求过程分析
一次Http请求过程分析一次Http请求过程分析
一次Http请求过程分析
 
图解Git
图解Git图解Git
图解Git
 
一次Code review引发的思考
一次Code review引发的思考一次Code review引发的思考
一次Code review引发的思考
 
My sql迁移总结
My sql迁移总结My sql迁移总结
My sql迁移总结
 
一次项目的探险旅程
一次项目的探险旅程一次项目的探险旅程
一次项目的探险旅程
 
Scrum敏捷开发模型
Scrum敏捷开发模型Scrum敏捷开发模型
Scrum敏捷开发模型
 
Shoutv 冯晓东
Shoutv 冯晓东Shoutv 冯晓东
Shoutv 冯晓东
 
技术债务的形成
技术债务的形成技术债务的形成
技术债务的形成
 
我们不了解的计算机世界(二)
我们不了解的计算机世界(二)我们不了解的计算机世界(二)
我们不了解的计算机世界(二)
 
HBase
HBaseHBase
HBase
 
我们不了解的计算机世界(一)--Unix目录结构的来历
我们不了解的计算机世界(一)--Unix目录结构的来历我们不了解的计算机世界(一)--Unix目录结构的来历
我们不了解的计算机世界(一)--Unix目录结构的来历
 
实时任务调度
实时任务调度实时任务调度
实时任务调度
 
节约内存:Instagram的redis实践
节约内存:Instagram的redis实践节约内存:Instagram的redis实践
节约内存:Instagram的redis实践
 

技术框架对比