极客时间架构师训练营 - week2 - 作业 1

简介: 极客时间架构师训练营 - week2 - 作业 1

习题 1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?

答:依赖倒置原则是面向对象设计原则之一。具体表现为:

  • 高层模块不应该依赖低层模块,二者都应该依赖抽象。
  • 抽象不应该依赖具体实现,具体实现应该依赖抽象。

之所以被称为好莱坞原则,是因为基于该理念设计的系统,与

"不要给我们打电话,我们会给你打电话(Don't call us, we'll call you)"

好莱坞原则理念一致。


习题 2. 请描述一个你熟悉的框架,是如何实现依赖倒置原则的?

答:以 Spring 框架为例,Spring 框架的一大特点就是控制反转。基于 Spring 框架开发的工程中,我们不主动通过传统的 new 方式直接创建 service/dao 对象,而是通过依赖注入的方式,由 Spring 来负责统一管理对象的生命周期和对象间的关系。


习题 3. 请使用接口隔离原则优化 Cache 类的设计,画出优化后的类图。


目录
相关文章
|
5月前
|
机器学习/深度学习 算法 安全
隐私计算训练营第三讲-详解隐私计算的架构和技术要点
SecretFlow 是一个隐私保护的统一框架,用于数据分析和机器学习,支持MPC、HE、TEE等隐私计算技术。它提供设备抽象、计算图表示和基于图的ML/DL能力,适应数据水平、垂直和混合分割场景。产品层包括SecretPad(快速体验核心能力)和SecretNote(开发工具)。算法层涉及PSI、PIR、数据分析和联邦学习(水平、垂直、混合)。此外,SecretFlow还有YACL密码库和Kusica任务调度框架,Kusica提供轻量化部署、跨域通信和统一API接口。
201 0
|
消息中间件 缓存 NoSQL
|
消息中间件 存储 关系型数据库
极客时间架构实战营作业八
极客时间架构实战营作业八
152 0
|
消息中间件 Java 中间件
极客时间架构实战营作业六
极客时间架构实战营作业六
115 0
|
运维 关系型数据库 MySQL
极客时间架构实战营作业三
极客时间架构实战营作业三
124 0
|
资源调度 分布式计算 调度
Fink--3、Flink运行时架构(并行度、算子链、任务槽、作业提交流程)
Fink--3、Flink运行时架构(并行度、算子链、任务槽、作业提交流程)
|
容灾 网络协议
极客时间架构实战营模块 7 作业
极客时间架构实战营模块 7 作业
79 0
|
存储 缓存 负载均衡
极客时间架构实战营作业五
极客时间架构实战营作业五
124 0
|
存储 JSON NoSQL
极客时间架构实战营作业四
极客时间架构实战营作业四
108 0
|
16天前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2