码农需要了解的很重要的软件构架模式
统都需要独立开发和演化系统的各个部分。由于这个原因,系统的开发人员需要明确且有据可查的关注点分离,以便可以独立开发和维护系统的模块。 问题 需要对软件进行分段,以便可以独立开发和开发模块,而各部分之间的交互很少,从而支持可移植性,可修改性和重用性。 解决方案 为了实现关注点的分离,分层模式将软件分为称为层的单元。每一层都是一组模块,这些模块提供了一套紧密的服务。用法必须是单向的。层完全对一组软件进行分区,并且每个分区都通过公共接口公开。
弱点 层会导致性能下降。该模式无法将其自身应用于高性能应用程序,因为遍历体系结构的多个层来满足业务请求效率不高。 层的增加还增加了系统的前期成本和复杂性。 用法 对于小型,简单的应用程序或网站,我们应该使用此样式。对于预算和时间紧迫的情况,这是一个不错的选择。 多层模式 语境 在分布式部署中,通常需要将系统的基础结构分布到不同的子集中。 问题 我们如何将系统划分为多个在计算上独立的执行要许多系统从输入到输出转换离散数据项的流。实际上,许多类型的转换会重复发生,因此,需要将它们创建为独立的,可重复使用的部分。 问题 此类系统需要分为具有简单,通用交互机制的可重用,松散耦合的组件。这样,它们可以灵活地彼此组合。通用且松散耦合的组件易于重用。独立的组件可以并行执行。 解决方案 这种架构中的管道形成了过滤器之间的通信通道。第一个概念是每条管道都是无方向性的,并且出于性能原因是点对点的,接受来自一个源的输入,并始终将输出定向到另一个。 此样式中存在四种类型的过滤器,如下所示。
弱点 由于交互式系统的转换特性,因此不是很好的选择。 过多的解析和未解析会导致性能损失并增加编写过滤器本身的复杂性。 用法 管道过滤器体系结构用于各种应用程序中,尤其是有助于简单单向处理的任务,例如EDI,ETL工具。
编译器:连续的过滤器执行词法分析,解析,语义分析和代码生成 (编辑:南通站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |