架构风格区别-架构案例(五十九)

2023-10-24 18:09:04 浏览数 (1)

管道-过滤器和仓库的区别?

(1)独立的数据仓库,处理流独立,处理数据用连接仓库工具

(2)数据与处理在一起,改动的话需要重启系统

(3)需要仓库工具与仓库连接,数据与处理分离,性能差

(4)可以支持并发连接访问仓库,提升性能

面向对象和基于规则区别?

(1)规则是独立的,用户和规则动态组合

(2)加入新的用户级别和折扣规则必需修改代码,并且重启系统

(3)用户和规则在一起,不需要解释,性能较好

管道-过滤器 和 数据仓储的区别?

(1)通过仓储中间件来交互

(2)流动数据结构,流式数据

(3)数据驱动

(4)根据特定的仓储规则进行扩展

1、给出SOA架构四种基本功能?

(1)负责各个服务之间数据格式的转换。

(2)负责元数据和每个服务的注册。

(3)ESB服务总线把每个服务一起管理,方便交互,将不同系统通过api,web Service来进行连接。

(4)路由、发现、选择等能力。

(5)以及服务请求的负载均衡。

2、分析软件架构评估所关注的质量属性有哪些,每个具体含义?评估的方法有哪些?具体实施如何?

(1)性能:接口的响应时间,吞吐量,准确性,按规定时间内返回给用户。

(2)可修改性:开发人员在规定时间内以较少的成本完成修改开发。

(3)安全性:数据和系统是安全的,保证用户不会恶意访问到。

(4)可用性:系统宕机在规定时间内启动备用系统,保证不会阻断用户流程。

问卷调成:个人主观性太强。

基于度量:对项目的细节要求能力太强。

基于场景,分为软件架构权衡分析ATAM(Architecture Traceoff Analyze Method),成本分析CBAM,软件系统分析法CAAM。

实施?

先对大家做个ATAM介绍,

分为:场景和需求的收集、架构视图和场景的实现、属性模型的构造和分析、评估和折中

3、微服务特点,写五条?

(1)性能提升,针对功能来划分团队,将各个功能分别部署在单个服务器。

(2)不在局限于编程语言,不同的微服务可以采用不同的语言实现,只需要按标准的协议沟通。

(3)按功能划分,可以采用更小的团队来维护。

(4)独立的服务组件,可复用更高。

(5)数据离散化管理,各个服务数据会出现不一致情况。

(6)基础设施,自动化管理。

4、详细论述基于构件开发的方法主要过程?

(1)修改构件

(2)组装构件

(3)评价构件

(4)部署构件

(5)获取构件

自底向上开发。

5、详细论述软件工程软件维护性因素主要有哪些?

(1)可修改性维护,在规定时间内较少成本开发修改。

(2)可理解性维护:用户和开发人员理解。

(3)易完善性维护。

(4)预防性维护:提出系统风险点,给出预防措施,减少风险。

6、常用架构风格有哪些,特点?

(1)面向对象:实体转换为代码里的对象,方便理解,适合较大项目的开发。

(2)隐式调用风格:可以将业务解耦,还可以异步提高接口性能。

(3)层次架构风格:提高并行开发效率,解耦业务数据和业务逻辑,展示层没有逻辑处理,安全性也得到提升。

(4)基于构件风格:提取公共的代码组成构件,方便调用,减少冗余代码量。

7、安全架构哪些方法解决?

(1)sql注入。

(2)用户登入信息鉴权。

(3)用户密码加密MD5。

(4)系统的可用性容灾备份安全。

(5)数据加密,摘要,数字签名。

(6)日志记录,数据双份保险。

8、层次架构四个层次的作用?

(1)展示层:主要接受用户页面请求的入参,以及返回数据库数据给用户可视化。

(2)中间逻辑处理层:中间层可以分为controller控制层和DomainService领域层和Service层,controller和展示层交互,接受入参,领域层处理主要业务逻辑,service主要与数据库访问层交互。

(3)数据库访问层:解耦业务数据和业务逻辑,可以隐藏sql和数据库事务处理,减少开发人员学习成本。显式给开发人员调用方式使用,也可以自定义sql增加复杂sql的处理能力。

(4)数据库层:主要负责业务数据的持久化。

关注我...每天陪你学习一起进步

0 人点赞