正文
分层架构设计,分层架构模式设计思想
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
什么是逻辑架构的分层法?
指的是将系统的组件分隔到不同的层中,每一层中的组件应保持内聚性,并且应大致在同一抽象级别;每一层都应与它下面的各层保持松散耦合。分层架构的优点 开发人员的专业分工,专注理解某一层。
也就是说把一些数据层的操作进行组合。3:表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。 业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。
通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候的所见所得。
什么是总分总呢,就是先总结观点结论,然后分开几点分别论证,最后再总结升华主题。
软件架构入门-分层架构、事件驱动、微服务架构和云原生架构
事件驱动架构(event-driven architecture)就是通过事件进行通信的软件架构。它分成四个部分。事件驱动架构(event-driven architecture)核心组件:对于简单的项目,事件队列、分发器和事件通道,可以合为一体,整个软件就分成事件代理和事件处理器两部分。
单层架构(Single-LayerArchitecture):所有的组件都部署在一个层次结构中,通常用于小型应用,简单而直接。客户端-服务器架构(Client-ServerArchitecture):系统分为客户端和服务器两个独立的部分,客户端负责用户界面和一部分业务逻辑,而服务器则负责处理数据存储和处理业务逻辑的另一部分。
事件驱动架构(event-driven architecture)就是通过事件进行通信的软件架构。它分成四个部分。
五种常见的软件架构包括:单体应用架构、微服务架构、服务导向架构(SOA)、事件驱动架构和分层架构。 单体应用架构:在此架构中,所有的软件功能都被集成在一个单独的应用程序中。这种架构方法的主要优点是简单性,因为所有的功能都在一个代码库中,易于开发和测试。
分层架构(LayeredArchitecture):分层架构将应用划分为若干层,每一层有特定的功能。常见的分层包括展示层、业务逻辑层和数据访问层。这种架构有助于维护和重用。目前的软件开发架构通常根据具体项目需求选择,微服务架构在当前较为流行,因为它有助于构建灵活、可伸缩的应用系统。
分层架构设计的优点有哪些?
1、灵活性只要接口不变,分层架构的层的变化不会影响整体,具有很高的灵活性。3 最佳技术实践分层架构的各层可采用最适合的技术,而不影响其他层,有利于实现最佳技术实践。4 标准化推进分层架构有助于统一标准和规范,推进标准化工作。 缺点分层架构也有其缺点,可能给读者带来概念上的困扰。
2、分层结构具有良好的可扩展性,为应用系统的演化增长提供了一个灵活的框架,具有良好的可扩展性。增加新的功能时,无须对现有的代码做修改,业务逻辑可以得到最大限度的重用。同时,层与层之间可以方便地插入新的层来扩展应用。分层架构易于维护。
3、分层架构的好处 单一职责:每层只负责一个角色,责任边界清晰。如果持久层只负责数据查询和存储,则字段级别仅负责处理业务逻辑。高内聚:分层是在相同的层中放置相同的责任,并且所有业务逻辑在领域层中都是一致的。
4、(1)人们可以很容易的讨论和学习协议的规范细节。(2)层间的标准接口方便了工程模块化。(3)创建了一个更好的互连环境。(4)降低了复杂度,使程序更容易修改,产品开发的速度更快。(5)每层利用紧邻的下层服务,更容易记住各层的功能。
5、优点如下:各层之间相互独立,即不需要知道低层的结构,只要知道是通过层间接口所提供的服务。灵活性好,指只要接口不变就不会因层的变化而变化。各层采用最合适的技术实现而不影响其他层。有利于促进标准化。缺点:容易使读者产生概念混乱。
6、网络分层的优点:1)各层之间是独立的。某一层并不需要知道它下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供的服务。由于每一层只实现一种相对独立的功能,因而可以将一个难以处理的复杂问题分解为若干个较容易处理的更小问题,这样,整个问题的复杂度就下降了。2)灵活性好。
详解数仓分层设计架构ODS-DWD-DWS-ADS
1、进入更深层次的CDM层,即公共维度模型层,它由DWD(数据明细层)和DWS(数据汇总层)组成。DWD是数据的精细化处理,对原始数据进行清洗、标准化,形成一致的维度和事实模型。而DWS则通过汇总和聚合,生成宽表,优化数据分析性能,满足不同分析需求。最后的ADS层,即应用数据层,是数据仓库的最终目的地。
2、首先,我们来深入探讨一下数据仓库的分层架构:ODS、DWD、DWS和ADS。ODS层(原始数据准备): 这是数据仓库的基石,原始数据在此进行初步处理,包括数据抽取、清洗和存储。例如,通过日志数据源,如Kafka,接收并整理成Impala外表和Parquet格式,以适应高效的存储和查询。
3、数据仓库层:数据仓库层是数仓的核心部分,它负责数据的整合、清洗、转换和存储。在这一层,数据会被进一步细分为不同的子层,如明细数据层(DWD)、汇总数据层(DWS)和应用数据层(ADS)。
4、DW :data warehouse 翻译成数据仓库 DW数据分层,由下到上为 DWD,DWB,DWS DWD:data warehouse detail 细节数据层,有的也称为 ODS层,是业务层与数据仓库的隔离层。DWB:data warehouse base 基础数据层,存储的是客观数据,一般用作中间层,可以认为是大量指标的数据层。
5、早期的数据分析项目促使我们学习了模型设计和实践,而在互联网公司的背景下,数仓架构更加灵活,注重数据平台与业务的融合。维度建模是核心,如星型和雪花模型,它们构成了层次分明的数据模型,从原始数据(ODS)经过维度建模(DM)形成详细(DWD)和汇总(DWS)层,再到最终的应用层(ADS)。
6、按照这种分层方式,我们的开发重心就在dwd层,就是明细数据层,这里主要是一些宽表,存储的还是明细数据;到了dws层,我们就会针对不同的维度,对数据进行聚合了,按道理说,dws层算是集市层,这里一般按照主题进行划分,属于维度建模的范畴;ads就是偏应用层,各种报表的输出了。
三层结构相对二层架构有哪些优点
两层架构一般是将表现层和逻辑层重合了,而三层架构将这两个层分开了。这样的优点是很明显的,首先是易于维护,两层架构中界面和背后的逻辑紧密结合,当需要添加或修改某些内容时非常困难,而三层架构中因为界面和逻辑分开了,所以可以单独修改一个层的内容而不需要全部修改。
持久层:负责用户信息的持久化。持久层的失误表现在外即数据处理(储存,展示等)不可靠。持久层完全不知道业务,只专注于数据存储和读取。所谓持久化并不一定是指数据库,任何方式的持久化(通过文件,网络的持久化等)都应由持久层完成。各层的设计都会直接影响系统性能。
三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
优点 开发人员可以只关注整个结构中的其中某一层;可以很容易的用新的实现来替换原有层次的实现;可以降低层与层之间的依赖;有利于标准化;利于各层逻辑的复用。缺点 降低了系统的性能。这是不言而喻的。
安全性好资源重用性好。 有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
分层架构设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于分层架构模式设计思想、分层架构设计的信息别忘了在本站进行查找喔。