软件架构临时简答题

 


(1)软件设计模式分类及其特点

  1. 按目的分类(关注做什么)

    • 创建型:关注对象的创建过程,将创建与使用分离。

    • 结构型:关注类或对象的组合,形成更大的结构。

    • 行为型:关注对象间的交互,划分职责与协作。

  2. 按范围分类(关注处理谁)

    • 类模式:处理类与子类关系(静态继承)。

    • 对象模式:处理对象间关系(动态组合)。

(2)软件设计模式的定义以及基本要素

  1. 定义:在特定环境下,针对重复出现的软件问题的一种经过充分验证的通用解决方案。

  2. 基本要素

    • 模式名称:用于沟通和记忆的助记词。

    • 问题:描述在何时使用该模式(应用环境)。

    • 解决方案:描述设计的组成成分、职责及协作关系。

    • 效果:描述模式应用的优缺点及权衡。

(3)面向对象设计原则

  1. 单一职责原则 (SRP):一个类只负责一个职能。

  2. 开闭原则 (OCP):对扩展开放,对修改关闭。

  3. 里氏代换原则 (LSP):子类必须能透明地替换父类。

  4. 依赖倒转原则 (DIP):依赖抽象,不依赖具体实现。

  5. 接口隔离原则 (ISP):使用多个专门接口,优于单一的大接口。

  6. 合成复用原则 (CRP):优先使用组合/聚合,少用继承。

  7. 迪米特法则 (LoD):最少知识原则,只与直接朋友通信。

(4)软件架构与设计模式的区别和共性

  1. 共性:都是解决重复性问题的方案,旨在提高重用性、维护性和扩展性。

  2. 区别

    • 层次不同:架构是系统级(宏观结构);设计模式是构件级(微观细节)。

    • 范围不同:架构决定系统骨架;设计模式解决局部问题。

(5)单例模式的三个实现要点

  1. 私有构造函数:禁止外部通过 new 创建实例。

  2. 私有静态成员变量:用于存储类中唯一的实例。

  3. 公有静态工厂方法:提供全局唯一的访问入口。

(6)软件架构的概念及其组成部分的含义

  1. 概念:软件系统的高层结构。

  2. 组成部分

    • 构件:计算或数据存储单元(如模块、数据库)。

    • 连接件:构件之间交互的抽象(如管道、过程调用)。

    • 约束:必须遵守的设计规则或性能限制。

(7)Kruchten “4+1” 视图模型

  1. 逻辑视图:描述功能需求(对应类图)。

  2. 开发视图:描述软件在开发环境下的静态结构(对应组件图)。

  3. 过程视图:描述系统的并发性与同步(关注性能)。

  4. 物理视图:描述软件如何映射到硬件(对应部署图)。

  5. 场景视图(+1):即用例视图,用于统筹其他视图,验证架构完整性。

(8)简述深克隆和浅克隆

  1. 浅克隆:只复制对象本身和值类型成员,引用类型成员仍指向原对象(共享内存)。

  2. 深克隆:递归复制所有引用类型成员,克隆对象与原对象在内存中完全独立。

(9)代理模式的定义以及几种常见的代理模式

  1. 定义:为某对象提供一个代理或占位符,由代理控制对原对象的访问。

  2. 常见类型

    • 远程代理:代表位于不同地址空间的对象。

    • 虚拟代理:延迟加载开销大的对象(如图片预加载)。

    • 保护代理:控制对原对象的访问权限。

    • 智能引用:访问时执行额外操作(如引用计数)。

(10)比较饿汉式单例和懒汉式单例

  1. 饿汉式:类加载时立即创建。优点是天生线程安全;缺点是若不使用会浪费资源。

  2. 懒汉式:调用时才创建(延迟加载)。优点是资源利用率高;缺点是需处理多线程同步问题,否则不安全。

(11)简述依赖倒置原则 (DIP)

  1. 定义:高层模块不应依赖低层模块,二者都应依赖抽象;抽象不应依赖细节,细节应依赖抽象。

  2. 核心:针对接口编程,而非针对实现编程,实现模块间的松耦合。

(12)简述组合模式的定义和角色

  1. 定义:将对象组合成树形结构以表示“部分-整体”的层次结构,使用户对单个对象和组合对象的使用具有一致性。

  2. 角色

    • Component(抽象构件):声明统一接口。

    • Leaf(叶子构件):无子节点的对象。

    • Composite(容器构件):包含子节点,实现子节点管理方法。

(13)简述接口隔离原则 (ISP) 及应用

  1. 定义:客户端不应依赖它不需要的接口;类间的依赖应建立在最小的接口上。

  2. 应用:避免建立臃肿的“胖接口”;将大接口拆分为职责单一的特定接口,实现角色隔离。

posted @ 2025-12-30 10:26  BKYNEKO  阅读(8)  评论(0)    收藏  举报