写点什么

第二周作业

用户头像
伊灵
关注
发布于: 2020 年 11 月 01 日

作业一:

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

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



依赖倒置原则,是软件框架开发中很重要的原则。也叫好莱坞原则,“don't call me, I will call you"。

那么是谁call谁呢?答案是框架主动调用业务应用类,而不是业务应用类去调用框架。

由框架开发者针对业务抽象出业务接口,即抽象出虚类,并在框架代码中调用这个暂未实现的接口。

业务开发者则需要继承这个虚类,并实现虚类中未实现的接口。

现在假设一个应用场景是架构师想要设计一份框架代码,抽象出进行存储的接口,可能是MYSQL进行存储,也可能是linux的文件进行存储。

程序有三个类,类Storebase,和类Mysql和类File。其中类Storebase有且仅有一个虚函数store(),类Mysql和类File继承类Store_base,并实现store()。

在这里,类Mysql和类File就是业务应用类。框架直接使用类Store_base的指针调用函数store(),就可以存储数据了。框架主动调用业务类,而不是业务类调用框架。



int main( void )

{

Build *build = new Cache();

Data_proc *proc = new Cache();



//系统运维管理者可以调用reBuild,但看不到get put delete

build->reBuild( conf );



//应用程序可以调用get put delete操作数据,但是看不到reBuild

proc->get( key );

proc->put( key, value );

proc->delete( key );



}



用户头像

伊灵

关注

还未添加个人签名 2020.06.19 加入

还未添加个人简介

评论

发布
暂无评论
第二周作业