规范、模式与框架

本文解析了规范、模式和框架的概念及它们之间的区别。规范确保实现的一致性和互换性;模式提供灵活的设计指南;框架是具体实现。文章通过实例解释了三者之间的联系和区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们经常会接触到规范(specification)、 、模式(pattern)、框架(framework)等概念。有时与朋友沟通时,总感觉对方混淆了这些概念的使用范畴,也就是将某个概念的东西硬往另一个概念上套。

在此,我讲讲自己的看法,期待各位的拍砖:

规范(specification)几乎和标准同义,是一类实现的实现标准。也就说为了统一某类实现的某些特性,而制定规范,使这类的实现互相之间具有可替代性,也决定了依赖该类实现的软件构件使用该类实现的方式。例如:servlet api、osgi、osgi blueprint、jpa、jdbc、jta、jndi等等就属于规范。

模式(pattern)则是为实现某方面的功能而总结出来的一些经验的集合。与规范相比较,它不需具有可替代性,所以约束性较弱,有点类似于指导方针性质的东西。除了我们常说的各种java设计模式外,我觉得象mvc、orm、ioc,甚至OO,都是模式范畴内的。在一定条件下,模式可能向规范发展,例如:orm和jpa的关系。

框架(framework)则是规范和模式的具体实现。有些框架是规范的实现,有些框架是模式的实现。例如:osgi framework是osgi规范的实现,具体有equinox、felix等。而mvc模式的实现有struts2、springmvc等等。 规范的实现和模式的实现的区别在于可替代性。例如我们用struts2开发的应用,就不能将struts2框架直接替换成springmvc框架后直接运行。而我们开发的osgi应用却可以分别在equinox或felix上运行(如果不可以的话,你就该看看你的osgi应用是否符合osgi规范了)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值