简单介绍下什么是中台,什么是空间换时间,什么是策略模式及其优缺点还有接口和抽象类的区别是什么?

1.什么是中台?

一般指的是搭建一个灵活快速应对变化的架构,快速实现前端提的需求,避免重复建设,达到提高工作效率目的
2.为什么要搭建中台?
a)将重复的代码剥离,形成中台的组件,因为如果每个服务都要重复的去发送短信的话,这样的重复代码会非常的多。
b)一旦我们的短信服务商不好用了,我么短信平台能够自动的选举出新的通道,不会让我们的系统服务停止

1:当我们需要对接新的短信服务商的时候我们需要怎么做?
a)在sms下添加一个新的第三方平台的工具包
b)在我们的case中添加一个新的判断,判断platfrom字段并调用新的工具包 并且我们还需要手动的封装每个通道需要的smsConfig这个类
c)在我们查询的过程中,每次都要去查询通道表里的内容,每次都要查询通道签名表的内容,每次都要查询通道模板表里的内容,性能不高
我们可以将查询的部分封装到我们的工具包中,传入我们集信达的模板code和签名code即可

那么我们怎么优化呢?这就不得不提及空间换时间的概念以及策略模式了

1)空间换时间:我们能否在项目启动后将一部分信息读取到内存中去,这样不用每次都去查询数据库
损失的空间内存时间代码执行的效率, 空间换时间 指的是将一部分信息先读取到内存中 然后以后每次读取就不是磁盘的IO操作了是对内存的操作

策略模式—主要掌握Comparable和Comparator的Demo

策略模式主要解决了什么问题:
解决的是同一种方法多种实现的问题,比如排序,我要按照年龄排序,我又要按照身高排序,我又要按照体重排序
我并不能每次都会建立一个比较器,每次重写对应的方法,那么我的比较功能的代码就会非常的多,
我要有年龄的排序代码,我要有身高的排序代码,我要有体重的排序代码等等
这样做就是方法重写,我们只有一个比较的方法,而具体比较的实现交由每个类自己实现,我们的子类只需要重写对应的方法即可
然后我们的问题又出现了,加入我作为一直猫,我对于第一只猫想要按照体重排序,第二只猫我希望采用身高来进行排序
这个时候我们通过方法重写就完全不能满足要求了,方法重写的时候我们不能重复重写,只能重写一次,
那么我们就不能解决多种功能的需求
策略模式就是解决这个问题
当然通过匿名内部类的方式也可以解决这一问题,但是匿名内部类的方式是写死的,并无法为其他类进行调用
所以建议采用策略模式

策略模式是将对应的实现写到具体的类中,并且实现统一的接口,在我们使用对应的方法的时候我们需要把具体的类(具体的比较器类)
告诉我们的方法

从而保证一个类的行为或其算法可以在运行时更改
策略模式的优缺
优点:
1、算法可以自由切换。
2、避免使用多重条件判断。
3、扩展性良好。

缺点:
1、策略类会增多,代码量增大。
2、所有策略类都需要对外暴露。

接口和抽象类的区别是什么
实现:抽象类的子类使用 extends 来继承;接口必须使用 implements来实现接口。
构造函数:抽象类可以有构造函数;接口不能有。
main 方法:抽象类可以有 main 方法,并且我们能运行它;接口不能有main 方法。
实现数量:类可以实现很多个接口;但是只能继承一个抽象类
访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访问修饰符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值