在软件项目开发过程中,都有哪些常见的软件架构?

在软件项目开发过程中,都有哪些常见的软件架构?,第1张

软件产品的架构,通常都是随着业务的发展而不断演变的;我从事软件开发行业也有十余年了,遇到过的软件(企业级应用,我是从事Java开发)架构主要有这么几种:

单体架构架构

总的概括来说,单体架构就是应用所有的功能,只有一个代码包,开发和部署都在一起,这是一种比较传统的架构风格;当然,单体架构也有着诸多的缺点:

SOA架构

因为单体应用架构的种种缺点,已经不能再满足业务需求的时候,于是就出现了SOA架构。

SOA架构的主要思想是把应用程序的模块化组件,通过接口联系起来(接口可以独神激立于语言、框架、硬件、 *** 作系统);在SOA架构中,有两个主昌兆流实现方式:

微服务架构

微服务的产生,也是由于SOA架构的一些缺点,这里再次印证了这句话,【应用架构的演进的过程通常耐瞎租是被业务逼出来的】。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

关于系统架构和软件分层的概念我们在前几期的文章中曾经介绍过多次了。今天,沙河java课程就来详细了解一下,软件架构中的分层都有哪些类型。希望大家通过对本文的阅读,能够对软件架构领域有更多的了解和认识。

经典的三层架构:

1.基础层:dao,帮助类,IO读写,资源加载等一些基础设施,他们作为整个碰搭系统基础的模块可以组合成业务层和服务层

2.业务层和服务层:典型的就是service,这里承载更多的是业务的实现,资源的组合调度,事务实现,等等,这里是整个系统核心的地方,下面整合底层dao以及事务,根据业务和场景灵活的把业务逻辑使用底层的基础单元拼接组合起来,上面为表现层提供具体的业务处理逻辑

3.表现层:接受外部的请求,并把调用对应的service *** 作具体业务,把终结果反馈给调用者或是用户

四层架构,在基础层基础之上还可以在分出一层:领域配吵悔层,基础层还是提供基本的数据 *** 作和IO与网络 *** 作,不过领域层对基础层再来一次封装和整合,目的也是方便整合底层资源方便service层调用,简化业务层和基础层的复杂依赖

静态业务对象

ViewObject:VO界面展示用到的数据对象

DomainObject:DO领域层对象,一般可以简约的理解为javabean对象,从业务中抽取的基本模型类

BussinessObject:BO业务对象一般也在service业务层,如果DO不能完全表达,可以使用BO获取更多信息的表达,并且还可以封装重用DO中的实体信息

PersistantObject:PO持久存储对象,一般作用于dao层,和数据库实体对应

DataTransferObject:DTO数据传递对象,用于封装参数,数据中转会,重构过程方法列表会用到

动态处理对象:

Controller控制器,Manager管理类,Service服务类,Repository,DAO数据源,Client客户端,Dispather转发器,Handler处理器,Interceptor拦截器

Helper,Utils帮助类

动态的配置文件与属性:

一些经常用到的开关和阈值一定要写在配置文件中,或有配置中心可以下发,不要在程序中写死,而且要有对相应的刷新机制api接口,调用后强制刷新配置参数

常用的比如:

活动的开始结束培正日期

业务中的大值,限制值等阈值

外界的URI:文件上传地址,静态资源位置,等等

.....等等一切可以借鉴Ioc理念抽取出来的配置变量


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8282612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存