每个软件框架的特征和功能

时间:2010-07-13 22:11:25

标签: frameworks characteristics

我今天尝试使用谷歌和StackOverflow搜索引擎找到我的问题的答案......但没有运气:)

我想知道最终用户的每个框架的主要特征是什么,以及如何从最终用户的角度来描述每个框架(我已经看过K. Cwalina的框架设计指南,但是我'我找到了框架架构师的概念和指南,对我来说:

  • 它应该是可扩展的
  • 应该让构建可扩展和可重用的组件
  • 当然:简单的事情应该是简单的,复杂的事情应该是可能的。 (http://en.wikiquote.org/wiki/Alan_Kay

我认为还有更多。

请分享您的知识。

6 个答案:

答案 0 :(得分:6)

以下是来自Ralph Johnson and Brian Foote

的两个好引号
  

框架是一个可重用的“半完成”应用程序,可以专门用于生成自定义应用程序

     

框架的一个重要特征是用户定义的用于定制框架的方法通常从框架本身调用,而不是从用户的应用程序代码调用。该框架通常在协调和排序应用程序活动中扮演主要程序的角色。这种控制反转使框架具有作为可扩展骨架的能力。用户提供的方法定制框架中为特定应用程序定义的通用算法。

您可能还想看一下special issue CACM。

这是另一个链接The Hollywood Principal。 “不要打电话给我们,我们会打电话给你。”关于框架如何反转典型控件,以便框架调用代码而不是调用某些库代码。

答案 1 :(得分:0)

听起来你只想知道框架的定义特征是什么......?

来自FOLDOC

  

在面向对象系统中,这是一组体现抽象设计的类,用于解决许多相关问题。

基本上,一个可扩展的类库(“一组类”)(“体现一个抽象设计”),

答案 2 :(得分:0)

我将根据自己的理解尝试定义:框架是一个代码体,它抽象出一些应用程序类常见的任务子集。目的是提供一次经过验证和测试的代码,以便应用程序编程不必为框架处理的常见任务重新发明代码。

在现实生活中,当程序员或团队因一般化和面向未来而被开始作为单个应用程序而被带走时,框架经常会出现。开始重用代码是一种光荣的意图,但事实证明,这样的框架从一开始就没有意图设计,没有反映这种意图的一致设计,实际上是糟糕的代码,最终没有被重新使用 - 完全没用。大多数认为有资格创建框架的架构师都不是。

答案 3 :(得分:0)

库和框架之间的区别:您调用库。框架打电话给你。

答案 4 :(得分:0)

回答你的问题涵盖应有的深度超出了本论坛的范围。所有你应该做的就是阅读本书,虽然它专注于.Net frmaework并由.Net框架的设计者编写,我确信本书提供的智慧和信息足以回答你的问题并满足你的好奇心关于这个问题。

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition)

alt text http://www.lybrary.com/images/0321605012.jpg

答案 5 :(得分:-1)

框架对我而言是一个图书馆的另一个名称(如Boost和许多其他名称),它不仅仅是一个主题(有关于数学,网络的图书馆,无论那里有什么,但这些都不是框架),它是当然是可扩展的,你可以结合它的功能来完成你的工作。