【第三周】学习总结——Flower 框架学习和设计模式

发布于: 2020 年 06 月 23 日

Flower框架学习

https://github.com/zhihuili/flower

Flower是一个构建在Akka上的反应式微服务框架,开发者只需要针对每一个细粒度的业务功能开发一个Service服务,并将这些Service按照业务流程进行可视化编排,即可得到一个反应式系统。

Flower实现异步的基础是AKKA的Actor。

基于消息驱动,反应式编程,不会发生线程阻塞的情况,线程比传统模式少很多

Actor内部不能阻塞,否则所有请求都会阻塞

每个ACTOR对应一个线程,后续线程进入MailBox,业务对象不会发生线程并发

Flower核心代码架构

服务调用时序图

Flower微服务解决方案

设计模式

面向对象设计的目标:强内聚、低耦合

面向对象设计的原则:五个基本原则

面向对象设计的模式:工厂、单例、适配器、策略、观察者、组合模式、装饰器模式等

工厂

用于创建实例,隔离内部实现

单例

实例共享,减少资源损耗

适配器

将当前类的方法名及参数在适配器类上做调整封装,以满足目标接口

可以用继承方式,也可以对象委托的方式

策略模式

多态,具体实例在运行过程中决定,解决if/else的难以维护问题

观察者模式

对扩展开放,解耦,当对象发生变化时,通知所有观察者对象

组合模式

1、TestSuite --> Test

集合,实现同一接口

装饰模式

1、HttpServletRequest/HttpServletRequestWrapper

2、Collections. synchronizedList(list)

3、IO流,InputStream/OutputStream,Reader/Writer

扩充职责,职责单一,灵活

框架

框架 》设计模式 》遵照设计原则 》实现设计目标

去开发框架,有机会一定不要放过

发布于: 2020 年 06 月 23 日 阅读数: 14
用户头像

三尾咸鱼

关注

还未添加个人签名 2018.07.10 加入

还未添加个人简介

评论

发布
暂无评论
【第三周】学习总结——Flower框架学习和设计模式