贯穿设计模式-建造者模式+代理模式+原型模式
发布时间:2024年01月09日
样例代码
涉及到的项目样例代码均可以从https://github.com/WeiXiao-Hyy/Design-Patterns.git获取
需求
- 个人或公司需要开发票时,会有个人发票和企业发票的区别 -> 建造者模式;
- 不同业务部门可能都需要使用发票数据,需要拷贝同一份发票 -> 原型模式;
- 构造出来的发票建造者方式,需要进行方法增强(例如:银行卡号校验,信息是否合格等等)-> 代理模式;
建造者模式
将不同的组件进行组装,最终生成一个最终的对象。与工厂模式的区别:
- 工厂模式和建造者模式都是为了建造对象;
- 工厂模式重在结果,只要能够建造对象即可;建造者模式重在构件过程,需要关心如何将不同的信息组装成一个完整的对象;
原型模式
在Java语言中,比较简单,常用的两个方法如下:
- 实现Cloneable接口重写clone方法即可
- 实现Serializable序列化
需要区分一下引用拷贝,浅拷贝,深拷贝的区别。
代理模式
一般来对现有方法的增强。
上述是静态代理的UML图,在实战中也需要注意掌握JDK和CGLIB动态代理的原理和适用场景。
文章来源:https://blog.csdn.net/qq_41124175/article/details/135489424
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!