`
belmount
  • 浏览: 49149 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

关于framework

阅读更多
刚才看了一篇关于项目管理的blog,中间有提到framework的选择问题,引起了很多人讨论。由于我对于framework的想法不是一点两点,所以不好喧宾夺主的把他人的讨论贴给干掉,还是另起炉灶写一篇自己的文章。
不过本文主要还是阐述自己的想法,我希望强调的是我希望有人和善的讨论,谢绝任何形式的语言暴力。
在wiki百科中间谈到软件framework的定义是可重用设计的软件系统。这种软件系统有可能包括支持程序,代码库,脚本语言,或者其他可以将不同组件粘合成软件项目的工具。
framework定义的关键字实际上是可重用设计,我们在谈到一个framework的时候,总是会谈到framework遵循怎样的设计理念。一个framework通常会将很多的design pattern融合在一起,从而强迫使用者遵循framework的设计者的编程理念进行开发。
在jee中的表示层的框架中,大量的framework都是采用mvc的设计模式。而像spring这种dependence injection framework因为是针对对象的产生,从而也大量的使用了factory系的design pattern。
研究框架的过程实际上就是在深入理解design pattern,当然这些从GoF的原本中已经看得出来,这4个人就是靠对广大framework和library的深入研究一举成名的。

我接触了一些java的程序员,他们是对framework有着执着的热情和迷恋。因此,对framework不那么明确的开发过程感觉很不适应。而另外一方面,php的程序员则对java下众多framework带来的漫长的learning curve和繁琐的操作深恶痛绝。

的确,framework对于简单的应用而言除了带来复杂的结构和性能上的损失,没有多少可以称道的优点。但是对于大规模的开发,这种从程序内部结构开始的强制约束是很有必要的。他可以避免开发人员各自为政,也可以让后继的开发人员能够快速的融于开发过程。

所以我们看到即使很容易free style的php开发在OO被引进之后也出现了不少的框架。而且这些框架在大规模的应用如yahoo bookmark中使用。

分享到:
评论

相关推荐

    framework7使用dome

    在这个"framework7使用dome"的压缩包中,我们可以看到一个关于Framework7的小测试和练习项目,涉及到相机拍照和定位功能的实现。 首先,让我们详细了解一下Framework7的核心特点和主要功能: 1. **组件丰富**:...

    Framework manager的教学文档(flash版)

    9. **报表与分析**:虽然本教程是关于Framework Manager的,但理解其与Cognos BI其他组件(如Query Studio、Report Studio)的集成也非常重要,因为最后的分析和报表是在这些工具上基于Framework Manager构建的模型...

    Framework层短信收发流程介绍

    ### Framework层短信收发流程详解 #### 概述 本文主要针对Android系统中Framework层的...以上是关于Framework层短信收发的基本流程概述。通过对关键环节的详细解析,有助于深入理解Android系统中短信处理的核心机制。

    net framework4.2_x64

    以下是关于.NET Framework 4.2的一些关键知识点: 1. **.NET Framework概述**:.NET Framework是一个全面、统一的编程模型,由微软公司推出,旨在简化软件开发,提供跨语言互操作性,并支持多种应用程序类型,如...

    .NET Framework 4.0.30319

    以下是关于.NET Framework 4.0.30319及其核心组件的详细信息: 1. **框架版本与兼容性**: - 版本号4.0.30319表明这是.NET Framework的4.0主版本的一个更新,编号30319是该版本的特定标识。 - 这个版本支持多种...

    iOS Framework制作打包教程

    官方文档通常会提供一些关于创建和打包Framework的深入指导和建议。例如,官方文档中可能会有对Framework版本、扩展名、资源文件的组织方式等方面的规范说明。 具体操作步骤可以总结为以下几点: 1. 在Xcode中创建...

    Programming Entity Framework DbContext

    根据文件标题《Programming Entity Framework DbContext》和描述,该文件应该是关于Entity Framework中Code First模式的详细指南,特别是围绕DbContext类展开的介绍和应用。 首先,需要明确Entity Framework(EF)...

    强制卸载net framework

    2. `readme.txt`:这是一个常见的文本文件,通常包含关于如何使用软件或执行特定任务的说明和指南。在这个场景下,它可能会详细解释如何运行`cleanup_tool.exe`以及在强制卸载过程中需要注意的事项。 3. `history....

    framework 专业卸载工具

    2. `readme.txt`:这是一个常见的文本文件,通常包含关于如何使用工具、注意事项、常见问题解答等信息。用户在使用前应该仔细阅读此文件,以确保正确、安全地执行卸载步骤。 3. `history.txt`:这个文件可能记录了...

    不用.netframework运行.net程序 源码示例

    通常,.NET程序需要依赖安装在目标机器上的.NET Framework才能运行,但通过一些技术手段,我们可以使.NET程序在不安装.NET Framework的环境下执行。 这个示例可能涉及到的技术是.NET Core或 Mono。.NET Core 是微软...

    MicroFrameworkSDK3.0

    关于Micro Framework 3.0 SDK的几点问题 1、下载链接:http://www.microsoft.com/downloads/details.aspx?FamilyId=9356ED6F-F1F0-43EF-B21A-4644DD089B4A&displaylang=en 2、几个bug 其实这几个bug在安装SDK3.0...

    EntityFramework.SqlServer_EntityFramework_

    标题中的`EntityFramework.SqlServer_EntityFramework_`可能是指这个项目或库是关于Entity Framework与SQL Server数据库交互的一个部分,可能是对原生EF的增强或者封装,目的是为了简化和优化SQL Server的数据操作。...

    Spring Framework 4 参考文档中文版.docx

    * 入门指南涵盖了一些关于 Spring 信奉的基础概念(如“依赖注入”)的背景介绍。 七、Spring Framework 的优点 * Spring Framework 使您可以从“普通 Java 对象”(POJO)开始构建应用程序,并将企业服务非侵入式...

    .net framework4.0环境

    以下是关于.NET Framework 4.0的一些关键知识点: 1. **组件结构**:.NET Framework 4.0由两大部分组成——公共语言运行时(Common Language Runtime, CLR)和类库。CLR是应用程序执行的基础,负责内存管理、异常...

    Django-REST-framework教程中文版

    Django-REST-framework教程中文版是一份关于如何使用Django-REST-framework来快速创建REST风格API的中文教程。Django-REST-framework是一个建立在Django框架之上的强大的REST API工具包,它允许开发者利用Django的...

    play framework api,play! framework api,play api

    以下是一些关于Play Framework API的知识点: 1. **模块化设计**:Play Framework采用了模块化的设计,使得开发者可以方便地添加或替换特定功能,如模板引擎、持久化层等。 2. **异步编程**:Play Framework基于...

    .net framework 4.0离线安装包_dotNetFx40_Full_x86_x64

    ".net 4.0下载.url"文件可能是一个网页链接,方便用户获取更多关于.NET Framework 4.0的信息或者更新到最新版本。尽管.NET Framework后续发布了4.5、4.6等多个版本,但4.0仍然是许多旧有应用依赖的基础,因此离线...

    WindowsServer 2016上的FrameWork3.5-2.0版本

    标签“FrameWork3.5-2.0 windows2016”进一步强调了这是关于在Windows Server 2016上安装.NET Framework 3.5至2.0的专题。 压缩包子文件的文件名称列表中,"microsoft-windows-netfx3-ondemand-package~31bf3856ad...

    CrystalDecisions.Enterprise.Framework

    “DLL之家.htm”可能是一个文档或者教程,包含了关于dll文件的信息和使用指导。“X64”和“X86”目录则分别包含了适用于64位和32位操作系统的dll文件,确保了不同架构下的系统兼容性。 五、应用实例 开发者可以...

    android Framework层的修改规则

    为了更好地理解和操作这一层,本文将详细介绍如何在Android Framework层进行修改,特别是关于JNI层的调整以及相关的编译流程。 #### 二、JNI层的修改 JNI (Java Native Interface) 是Java平台标准的一部分,它允许...

Global site tag (gtag.js) - Google Analytics