设计模式
文章平均质量分 90
程序员修炼
大道至简,知易行难。
但行好事,莫问前程。
cxyxl66
程序员修炼
AI学习管家
程序员面试通
展开
-
软件设计六大基本原则
开放封闭原则是架构设计中的重要原则,通过对已有代码的扩展而不是修改来实现新功能。它可以通过接口和抽象类来实现代码的模块化和解耦,使代码具有良好的可扩展性和可维护性。在实践中,我们可以借鉴优秀的开源框架的设计,通过提供扩展点和插件机制来实现开放封闭原则。单一职责原则是架构设计中的重要原则,要求一个类只负责一个单一的职责或功能。这样的设计使得代码更加清晰、可维护和可扩展。通过拆分类,在每个类中实现单一的职责,可以提高代码的内聚性和松耦合性,从而提高代码的质量和可测试性。原创 2023-07-19 22:48:40 · 2851 阅读 · 0 评论 -
动态代理的几种实现方式及优缺点
动态代理:是使用反射和字节码,在运行期间创建指定接口或类的子类以及它的实例对象的一项技术,通过这个技术可以对代码进行无侵入式的增强。源文件生成实例对象的过程如下:关于动态代理的底层原理,在另一篇文章中已经介绍过了。 你必须要学会的动态代理java的动态代理技术的实现主要有两种方式:JDK原生动态代理CGLIB动态代理JDK原生动态代理:使用到一个类Proxy和一个接口Invoc...原创 2020-02-13 17:32:05 · 6652 阅读 · 0 评论 -
你必须要学会的动态代理
你必须要学会的动态代理问题背景有何问题解决方法模式讲解新的问题动态代理的原理相关拓展问题背景话说小强作为一名资深的单身狗,终于也迎来了自己的春天,在他的穷追不舍下,同事小丽终于同意给他一次机会,给他一个月的考察期,如果在这一个月内表现良好,就正式和他交往,否则就不要再纠缠她。别看小强母胎单身到现在,对女生的喜好可是没少研究,也知道追女生要送礼物,女生都喜欢化妆品,于是决定先送小丽一支口红,小...原创 2020-02-12 20:09:55 · 1131 阅读 · 0 评论 -
看了这篇文章你将彻底了解组合模式
看了这篇你将彻底了解组合模式问题背景:有何问题:解决方案:模式讲解:新的问题:相关扩展:问题背景:在上一篇观察者模式的文章中,IT公司老板通过观察者模式和程序员小强和小华实现了通信,便于通知他们加班,还可以单独通知不同的内容,例如通知小强加班,通知小华去出差。但随着公司的规模慢慢变大,公司从只有两个程序员和一个秘书的公司成长为一个拥有研发部和市场部两个部门,十几位员工的公司。但这就导致了之前的...原创 2020-01-05 17:37:28 · 242 阅读 · 0 评论 -
听说你还不会写观察者模式?一文帮你搞定!
观察者模式问题背景:有何问题:解决方法:模式讲解:新的问题:相关扩展:模式变形:问题背景:书接上回,话说程序员小强成功进入一家公司,并且老板也信守承诺给他分配了一个女朋友小美,老板这样做除了能让小强每天安心写代码之外,还有另外两个意图,第一就是小美是安插在小强身边的眼线,负责监督小强的工作,第二个也是最重要的目的是通过小美可以把公司重要的通知传递给小强。如下是过程示意图以前我们是怎么用程序...原创 2019-12-12 15:51:06 · 403 阅读 · 1 评论 -
女朋友:你能给我讲讲单例模式吗?
女朋友:你能给我讲讲单例模式吗?问题背景:有何问题:解决方法:模式讲解:新的问题:相关扩展:问题背景:某公司老板在招程序员时承诺帮助解决单身问题,给程序员分配一个女朋友,于是单身的小强毫不犹豫就去应聘了,并被顺利录用。那么我们怎么用代码来模拟一下呢?首先定义一个女朋友的类,拥有两个属性,姓名和年龄:public class GirlFriend { private String na...原创 2019-12-09 13:37:38 · 298 阅读 · 0 评论 -
设计模式课程总结一
设计模式课程总结一什么是设计模式外观模式(Facade)适配器模式(Adapter)单例模式(Singleton)观察者模式(Observer)装饰模式(Decorator)代理模式(Proxy)命令模式(Command)模板方法模式(Template Method)迭代器模式(Iterator)状态模式(State)策略模式(Strategy)组合模式(Composite)桥接模式(Bridge...原创 2019-12-06 18:28:24 · 1417 阅读 · 0 评论