【第三周】学习总结——Flower 框架学习和设计模式
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
扩充职责,职责单一,灵活
框架
框架 》设计模式 》遵照设计原则 》实现设计目标
去开发框架,有机会一定不要放过
版权声明: 本文为 InfoQ 作者【三尾鱼】的原创文章。
原文链接:【http://xie.infoq.cn/article/6d0cf89e06ad44c6b01c1f2a5】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论