我们经常会接触到规范(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规范了)。
分享到:
相关推荐
《PHP高级程序设计:模式框架与测试》是一本深度探讨PHP编程的专业书籍,由人民邮电出版社出版。这本书旨在帮助开发者提升PHP编程技能,掌握更高效、更灵活的开发方式,以及如何进行严谨的测试,确保代码质量和系统...
《.NET设计规范:约定、惯用法与模式》是一本深入探讨.NET平台开发中最佳实践的权威指南。这本书旨在帮助开发者遵循一套统一的设计规则,提高代码质量,增强软件的可读性、可维护性和可扩展性。书中涵盖了一系列关键...
第6章 文档编写和编码规范 第7章 反射API 第8章 测试、部署和持续集成 第三部分 SPL(标准PHP库) 第9章 SPL简介 第10章 SPL迭代器 第11章 SPL文件和目录处理 第12章 SPL数组重载 第13章 ...
OOP和模式 第1章 抽象类、接口和契约式编程 第2章 静态变量、成员和方法 第3章 单例模式和工厂模式 第4章 异常 第5章 PHP 6中的新特性第二部分 测试和文档编写 第6章 文档编写和编码规范 第7章 反射...
Java模式、框架与体系结构是Java开发中的三个关键概念,它们相互关联且在软件设计中起着至关重要的作用。理解这些概念有助于提升编程效率和软件质量。以下是对这些概念的详细解释: **模式(Pattern)** 模式是解决...
.NET 设计规范 约定、惯用法与模式 第2版 克瓦林纳 定 价:69.00元 作 者:(美)克瓦林纳 等著,葛子昂 译 出 版 社:人民邮电出版社 出版时间:2010-5-1 页 数:370 字 数:579000 I S B N:9787115226518 ...
org-spec, 技术规范的Org模式框架 & HTML主题 。/org规范用于技术规范文档和HTML发布的组织模式模板模板特性web应用程序的规范文档框架,包括。 各种组织模式功能的用法示例:通过 Ditaa,Graphviz & PlantUML的基于...
B.4.2 与类型设计规范有关的FxCop规则 274 B.4.3 与成员的设计有关的FxCop规则 277 B.4.4 与为扩展性而设计有关的FxCop规则 284 B.4.5 与异常有关的FxCop规则 285 B.4.6 与使用规范有关的FxCop规则 287 B....
.NET 设计规范 约定、惯用法与模式 第2版 克瓦林纳 定 价:69.00元 作 者:(美)克瓦林纳 等著,葛子昂 译 出 版 社:人民邮电出版社 出版时间:2010-5-1 页 数:370 字 数:579000 I S B N:9787115226518 ...
框架定义了应用的基本结构,规定了开发人员如何组织代码,以遵循一定的规范。例如,MVC(模型-视图-控制器)框架是Web开发中常见的,它分离了数据处理、用户界面和业务逻辑。Spring框架在Java世界中广泛使用,提供了...
- **生态兼容性**:考虑框架与其他技术栈的集成能力,如数据库支持、第三方库等。 - **未来发展趋势**:选择那些持续发展且有良好前景的框架。 #### 第五章:设计模式在框架中的应用 - **MVC(Model-View-...
**MVC模式与PHP开发框架详解** MVC(Model-View-Controller)模式是一种软件设计模式,它在Web应用中广泛使用,旨在提高代码的可维护性和可扩展性。MVC将应用程序分为三个主要组件:模型(Model)、视图(View)和...
在这个“将工厂模式升华为插件式框架”的例子中,我们可以看到作者尝试将原本静态的工厂类转变为动态加载插件的框架。首先,我们需要理解基础的工厂模式,通常包含一个抽象工厂接口和多个具体工厂类,每个具体工厂...
CI框架遵循MVC(Model-View-Controller)模式,其标准目录结构包括`system`(包含框架核心及类库)、`application`(应用特定的代码)等。`application`目录下有`core`、`controllers`、`models`、`views`、`...
.NET设计规范:约定、惯用法与模式(第2版)克瓦林纳 2/5 .NET 设计规范 约定、惯用法与模式 第2版 克瓦林纳 定 价:69.00元 作 者:(美)克瓦林纳 等著,葛子昂 译 出 版 社:人民邮电出版社 出版时间:...
书中介绍了在设计框架时的最佳实践,提供了自顶向下的规范,其中所描述的规范普遍适用于规模不同、可重用程度不同的框架和软件。这些规范历经.NET框架三个版本的长期开发,凝聚了数千名开发人员的经验和智慧。微软的...
SSH 框架,全称为 Spring、Struts 和 Hibernate 的组合,是Java Web 开发中广泛采用的一种架构规范。这个框架集合了三个强大的开源组件,为开发者提供了高效、灵活且可扩展的开发环境。在本文中,我们将深入探讨 SSH...
3. **抽象与实现的解耦:** Spring通过接口和抽象类定义了标准的行为规范,具体实现则由开发者根据实际需求进行编写,这样既保持了代码的灵活性,又增强了系统的可扩展性。 总之,Spring框架的设计理念和技术实现为...