架构与框架

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

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

架构与框架

 作者:徐景周


1. 架构

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

 

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

 

2. 框架

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

 

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

 

1) 框架主要技术

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

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

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

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

 

2) 框架主要方法

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

 

 

3. 平台框架

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

 

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

  

 

6/2025 MP4 出版 |视频: h264, 1280x720 |音频:AAC,44.1 KHz,2 Ch 语言:英语 |持续时间:12h 3m |大小: 4.5 GB 通过实际 NLP 项目学习文本预处理、矢量化、神经网络、CNN、RNN 和深度学习 学习内容 学习核心 NLP 任务,如词汇切分、词干提取、词形还原、POS 标记和实体识别,以实现有效的文本预处理。 使用 One-Hot、TF-IDF、BOW、N-grams 和 Word2Vec 将文本转换为向量,用于 ML 和 DL 模型。 了解并实施神经网络,包括感知器、ANN 和数学反向传播。 掌握深度学习概念,如激活函数、损失函数和优化技术,如 SGD 和 Adam 使用 CNN 和 RNN 构建 NLP 和计算机视觉模型,以及真实数据集和端到端工作流程 岗位要求 基本的 Python 编程知识——包括变量、函数和循环,以及 NLP 和 DL 实现 熟悉高中数学——尤其是线性代数、概率和函数,用于理解神经网络和反向传播。 对 AI、ML 或数据科学感兴趣 – 不需要 NLP 或深度学习方面的经验;概念是从头开始教授的 描述 本课程专为渴望深入了解自然语言处理 (NLP) 和深度学习的激动人心的世界的人而设计,这是人工智能行业中增长最快和需求最旺盛的两个领域。无论您是学生、希望提升技能的在职专业人士,还是有抱负的数据科学家,本课程都能为您提供必要的工具和知识,以了解机器如何阅读、解释和学习人类语言。我们从 NLP 的基础开始,从头开始使用文本预处理技术,例如分词化、词干提取、词形还原、停用词删除、POS 标记和命名实体识别。这些技术对于准备非结构化文本数据至关重要,并用于聊天机器人、翻译器和推荐引擎等实际 AI 应用程序。接下来,您将学习如何使用 Bag of Words、TF-IDF、One-Hot E
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值