应用框架:在特定应用领域中,程序间的共同结构。使用共同结构来开发程序,使程序具有一致性,增加程序的清晰度,降低程序的设计及维护费用。
所谓“共同结构”包括:通用类,对象、函数以及它们之间的稳定关系。
抽象:从相同的事物中,抽离出共同点,得到抽象结构。
衍生:以抽象结构为基础,添加些功能,成为具体事物或系统。
框架包括了:
一群抽象类别,类别内有函数,函数内有指令,有的函数的实现缺失,预留给应用程序工程师补充。
抽象类别之间的稳定关系。
框架 | 类库 | |
目的 | 让工程师派生出具体类,派生是可修正类别,然后产生对象 | 没有预留修改空间,只能直接使用 |
调用关系 | 框架中类别的函数,常调用程序中的函数 | 类别是独立的,没有设定对象间的沟通关系 |
对象常含有预设行为,可修改 | 对象的行为固定,不可修改 | |
许多框架不经包含抽象类别,还含有具体类别、函数、及对象,实际上已经涵括了传统的类库/程序库的功能。实际上已经混为一谈了。
具有代表性的框架:
1980s初:Smalltalk-80 的 MVC
1980s中:Macintosh的 MacApp
1990s初:VC++的 MFC
1990s中:IBM的San Francisco
2000s: 微软的 .Net
2007-:Google 的 Android
框架的分层
应用程序 |
专业领域架构 |
支持性架构 |
操作系统 |
领域架构和支持性架构通称为应用架构
支持性框架只负责系统层次的任务。
Android包含了支持性框架和手机专业应用框架。