首页 >> 大全

杭州女子失踪案告破, 绞杀者模式(Strangler Pattern)来预防

2023-07-31 大全 43 作者:考证青年

目的

做新老代码迁移的时候保证原有功能逐步迁移并且不会印象开发新功能

例子代码

最近一杭州女子离奇失踪的事情引起了大家的关注, 大致是讲一位女士被报案失踪, 小区的监控全部没监视到如何离开小区的, 目前的结果竟然是重组家庭的丈夫因为利益原因将其杀害分尸并抛到化粪池, 之后还淡定报警接受采访等, 小道消息说他动手之前还问了问老婆那句 “我还有机会么”,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img--53)(//.png)]

画龙画虎难画骨, 知人知面不知心, 本来是重组家庭, 女子类似于把一个旧的丈夫替换成了新人, 没有经过更好的过渡, 就好比我们要重构一个复杂系统中某个类, 里面的方法都写完了再替换可能会造成时间和风险上的不确定性增多, 我们最好是相似的接口一个一个的替换.逐步上线

绞杀者模式

杭州失踪女士_杭州失踪女人_

定义一个丈夫的接口:

public interface Man {void eat();void drink();void sleep();
}

老的实现类:

public class OldMan implements Man {@Overridepublic void eat() {System.out.println("爱吃狗不理包子");}@Overridepublic void drink() {System.out.println("爱喝白酒");}@Overridepublic void sleep() {System.out.println("8 点睡到 8 点");}
}

新的实现类:

public class NewMan implements Man {@Overridepublic void eat() {System.out.println("爱吃西湖醋鱼");}@Overridepublic void drink() {System.out.println("爱喝啤酒");}@Overridepublic void sleep() {throw new RuntimeException("还没实现, 请调用老接口");}
}

过渡类:

杭州失踪女人__杭州失踪女士

public class HalfMan implements Man {private Man oldMan;private NewMan newMan;public HalfMan(Man oldMan, NewMan newMan) {this.oldMan = oldMan;this.newMan = newMan;}@Overridepublic void eat() {newMan.eat();}@Overridepublic void drink() {newMan.drink();}@Overridepublic void sleep() {oldMan.sleep();}
}

使用方式:

public static void main(String[] args) {Man man = new HalfMan(new OldMan(),new NewMan());man.sleep();
}

输出:

8 点睡到 8 点

类图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img--54)(//.png)]

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了