架构与框架

本文探讨了软件体系结构,即架构,包括层次式架构的原理和OSI参考模型。接着,介绍了框架的概念,作为半成品,需要根据需求定制。框架设计涉及共同点、扩展点和设计模式,并区分了白盒、黑盒和灰盒框架方法。最后,强调了平台框架对企业业务发展和竞争力提升的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

架构与框架

 作者:徐景周


1. 架构

        软件体系结构通常被称为架构,Garlan & Shaw模型的基本思想是:软件体系结构={组件(component),连接件(connector),约束(constrain)。其中,组件可以是一组代码,如程序模块;也可以是一个独立的程序,如数据库服务器。连接件可以是过程调用、管道、远程过程调用(RPC,Remote Procedure Call)等,用于表示组件之间的相互作用。约束一般是对象连接时的规则,或指明组件连接的形式和条件。

 

        层次式软件体系结构是最广泛使用的一种架构方式,它将大型软件系统按照功能的扩展性,分成若干层。每一层为其上层服务,并作为下一层的客户。最底层为“内核”,完成最为基本的公用操作。各层向外逐渐进行功能扩展,满足不同系统规模的需求。每一层最多只影响两层,也为软件重用提供了支持。例如:OSI(开放式系统互联参考模型)。

 

2. 框架

        架构是问题的抽象解决方案,它关注大局而忽略细节;而框架通常是半成品,还必须根据具体需求进一步定制开发才能变成完整的应用系统。框架亦可称为应用架构,框架是在特定领域中基于体系结构的可重用设计,也可以认为框架是体系结构在特定领域下的应用。

 

        框架包括了一组抽象概念,这些抽象概念来源于问题领域。框架使得这些抽象概念相互协作,并提供了一种扩展的形式,以实现重用。框架在抽象概念上进行工作,定义抽象概念之间的协作方式。框架和普通软件的区别在于,用户可以通过扩展来重用该框架,这些扩展点的设计是框架设计的核心。

 

1) 框架主要技术

        框架设计的主要技术包括共同点、扩展点和设计模式

        共同点是业务应用中反复出现的通用主体,存在于特定领域和跨领域框架层中,表现形式为具体类。如果应用的某些部分重复出现,且其中又没有太多变化,那么就可以将它从应用中提出,作为共同点封装成框架的组件,从而促进了代码重用。

        扩展点是框架中频繁变化的部分,在框架中它没有被实现只起到占位符的作用,最终由基于框架之上的具体业务应用负责为扩展点提供它们各自的实现,所以框架在每个业务应用中的行为并不相同,表现形式为抽象类或一组接口。

        设计模式描述了特定场景下重复发生问题的解决方案,它使人们可以更加方便地复用成功的解决方案而不必重新设计。

 

2) 框架主要方法

        框架设计的主要方法包括白盒框架、黑盒框架和灰盒框架。基于继承的框架被称为白盒框架。所谓白盒即具备可视性,被继承的父类的内部实现细节对子类而言都是可知的。利用白盒框架的应用开发者通过衍生子类或重写父类的成员方法来开发系统。子类的实现很大程度上依赖于父类的实现,这种依赖性限制了重用的灵活性和完全性。但解决这种局限性的方法可以是只继承抽象父类,因为抽象类基本上不提供具体的实现。白盒框架是一个程序骨架,而用户衍生出的子类是这个骨架上的附属品。基于对象构件组装的框架就是黑盒框架。应用开发者通过整理、组装对象来获得系统的实现。用户只须了解构件的外部接口,无须了解内部的具体实现。另外,组装比继承更为灵活,它能动态地改变,继承只是一个静态编译时的概念。灰盒框架是白盒框架与黑盒框架的混合使用。各框架方法间的关系和使用方式,如表1-1 所示。

 

 

3. 平台框架

        框架不是一个简单的软件或者一个功能专一的系统,而是一个可以为其它系统和软件提供各种接口和功能的框架。首先,框架是为了企业的业务发展和战略规划而服务的,它服从于企业的愿景。其次,框架最重要的目标是提高企业的竞争能力,包括降低成本、提高质量、改善客户满意程度等方面。最后,框架也是在进行有效的知识积累。

 

        平台框架通常基于灰盒框架方法,分离出跨领域的共同点部分和特定领域的扩展点部分,上层业务应用通过组合它们来满足不同的业务需求。

  

 

基于STM32设计的数字示波器全套资料(原理图、PCB图、源代码) 硬件平台: 主控器:STM32F103ZET6 64K RAM 512K ROM 屏幕器:SSD1963 分辨率:480*272 16位色 触摸屏:TSC2046 模拟电路: OP-TL084 OP-U741 SW-CD4051 CMP-LM311 PWR-LM7805 -LM7905 -MC34063 -AMS1117-3.3 DRT-ULN2003 6.继电器:信号继电器 7.电源:DC +12V 软件平台: 开发环境:RealView MDK-ARM uVision4.10 C编译器:ARMCC ASM编译器:ARMASM 连机器:ARMLINK 实时内核:UC/OS-II 2.9实时操作系统 GUI内核:uC/GUI 3.9图形用户接口 底层驱动:各个外设驱动程序 数字示波器功能: 波形发生器:使用STM32一路DA实现正弦,三角波,方波,白噪声输出。 任意一种波形幅值在0-3.3V任意可调、频率在一定范围任意可调、方波占空比可调。调节选项可以通过触摸屏完成设置。 SD卡存储: SD卡波形存储输出,能够对当前屏幕截屏,以JPG格式存储在SD卡上。能够存储1S内的波形数据,可以随时调用查看。 数据传输:用C#编写上位机,通过串口完成对下位机的控制。(1)实现STOP/RUN功能(2)输出波形电压、时间参数(3)控制截屏(4)控制波形发生器(5)控制完成FFT(6)波形的存储和显示 图形接口: UCGUI 水平扫速: 250 ns*、500ns、1μs、5 μs、10μs、50μs、500 μs、5ms 、50ms 垂直电压灵敏度:10mV/div, 20mV/div, 50mV/div, 0.1V/div, 0,2V/div, 0.5V/div, 1V/div,2V/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值