zoukankan      html  css  js  c++  java
  • 阅读笔记9

                                    软件框架(Software Framework) 
     面向某领域(包括业务领域,如ERP,和计算领域,如GUI)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供一系列定义良好的可变点以保证灵活性和可扩展性。可以说,软件框架是领域分析结果的软件化,是领域内最终应用系统的模板。 
    随着软件规模的扩大、应用的广泛和软件复用技术的发展,以子程序或类(Class)为单位的软件复用有许多不足:

    (1)子程序库日趋其庞大以致于使用人员难以掌握

    (2)大多数类粒度很小,且其自身往往不能完成有用的功能。这一问题迫使人们在复用中将一组类(或模块)及其交互作为一个整体来考虑,由此出现了软件框架。 

    软件框架至少包含以下组成部分: 
    1)一系列完成计算的模块,在此称为构件。 
    2)构件之间的关系与交互机制。 
    3)一系列可变点(也称热点,Hot-spots,或调整点)。 
    4)可变点的行为调整机制。 
    开发人员通过软件框架的行为调整机制,将领域中具体应用所特有的软件模块绑定到该软件框架的可变点,从而得到最终应用系统,这一过程称为软件框架的例化(instantiation)。通过软件框架的使用,开发人员可将主要精力放在应用所特有的模块的开发上,从而大大提高了软件生产率和质量。 
    软件框架的行为调整机制是指如何针对具体的应用调整该框架的可变部分、如何在可变点加入特定应用模块所采用的方法和规则。行为调整机制可分为四种: 
    1)模板参数化。软件框架提供代码自动生成工具,该工具根据用户设置的参数自动生成所需的代码。 
    2)继承和多态。通过面向对象中的子类继承和重载,在子类中加入新的功能或改变父类的行为。 
    3)动态绑定。在运行时刻动态绑定所需的对象服务,可通过软件模式技术实现。 
    4)构件替换。通过替换框架中可插拔的构件来加入业务特定的功能, 
    不同于一般的可复用软件制品,软件框架的一个显著特点是逆向控制(Inversion of Control),在复用过程中,前者需被显式调用,控制是在应用特定的模块中,软件框架则不然,应用开发人员只要将应用特定的模块绑定到框架内,框架则根据自己的交互机制自动调用该模块,控制由框架负责。 
    软件框架有很多种。按其应用的范围可分为: 
    1)系统基础设施框架。用于简化系统级软件的开发,如操作系统、用户界面、语言处理等,典型例子为MacApp, Microsoft’s MFC等。 
    2)中间件集成框架。用于组装分布式应用和构件,典型例子为Microsoft’s DCOM,JavaSoft’s RMI,OMG’s CORBA等 
    3)企业应用框架。用于各类应用领域,如电信、制造业、金融等。 
    按其表现形态可分为: 
    1)白盒框架。支持白盒复用,大型的类库或子程序库通常均提供白盒框架来协助复用。 
    2)黑盒框架。支持黑盒复用。中间件集成框架一般为黑盒框架。

  • 相关阅读:
    【LeetCode】145. Binary Tree Postorder Traversal (3 solutions)
    【LeetCode】151. Reverse Words in a String
    【LeetCode】152. Maximum Product Subarray
    【LeetCode】154. Find Minimum in Rotated Sorted Array II (3 solutions)
    如何使用 Chrome 浏览器调试动态加载的 Javascript 脚本
    如何对数据库中的表以及表中的字段进行重命名
    关于 sql server 数据库权限乱七八糟的一些东西
    对 sql server 数据库的备份进行加密
    使用vs的查找功能,简单大概的统计vs中的代码行数
    在 sql server 中,查询 数据库的大小 和 数据库中各表的大小
  • 原文地址:https://www.cnblogs.com/dgb152/p/11060550.html
Copyright © 2011-2022 走看看