绞杀者模式的介绍

Posted muzizongheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了绞杀者模式的介绍相关的知识,希望对你有一定的参考价值。

 

先看两张图

 

 (来自Martin Fowler

 

上面图的介绍:

绞杀无花果树绞杀无花果树是一种非常奇怪的树,它们不从地面开始生长。热带雨林重气 候湿润,一粒无花果树种子落在一颗树顶,如果条件合适,它就会在那儿发芽。 那颗树就成了它的寄主。那么,那些种子是怎样到那儿的呢?从猴子、蝙蝠或鸟 儿嘴里掉下来的。 由于发芽的小树在大树肩上,能得到更多的阳光,它长得很快,生出许多根 来缠绕着大树。这些根很快长长到达地面,源源不断地将水分和营养物质从绞杀 根送到高处。 根不断向下生长,它牢牢地贴在寄主的树干上。绞杀就开始了。随着时间的 推移,寄主要抵抗绞杀植物的根,才能长粗,而这些根切断了寄主的营养输送线, 过上几年,寄主身上的矿物质和水将会枯竭,然后死亡。

 

 (来自微软

上图的介绍:

通过将特定的功能片断逐渐取代为新的应用程序和服务,逐步迁移旧系统。 随着旧系统的功能被替换,新系统最终将取代旧系统的所有功能,抑制旧系统并使其停用。

 

 

通过隐喻和对比, 我们可以理解绞杀者模式通常用在新旧系统的迁移过程中。 我们在旧系统中创建一个绞杀者外层(类似扔了一粒无花果种子在旧系统中), 然后随着新功能的引入(无花果发芽生长), 最终旧系统慢慢被替换成完整的新系统(宿主死亡)。

 

实际使用中遇到的情况:

这种绞杀者模式一般都是用在微服务的迁移改造, 也就是说如果系统中客户端不变,我们稳定迭代后端服务还可以做。我们现在遇到的场景是新系统的前后端都大变化了且技术栈也发生变化, 但新系统又没有做到完全替换旧系统, 这个模式就无法解决我们的问题

 

 

以上是关于绞杀者模式的介绍的主要内容,如果未能解决你的问题,请参考以下文章

绞杀者模式的介绍

一文读懂微服务架构的重构策略

Java架构:一文读懂微服务架构的重构策略

优化算法混沌单纯形法算子布谷鸟搜索优化算法含Matlab源码 1193期

设计模式---装饰者模式

设计模式----建造者模式