里氏替换原则 继承作为面向对象设计的重要手段,具有以下的特点 优点 代码共享,减少重复工作 提高代码复用性 子类形似于父类而区别于父类 提高代码...
什么是适配器模式 将一个接口变换成客户期待的另一个的接口,从而使原本因接口不匹配无法一起工作的两个类能够一起工作。生活中不乏这样的案例,如电脑的...
迭代器模式 我们在日常的开发中,特别是在使用集合的过程中都或多或少使用了迭代器来对集合进行遍历。这时候我们就会思考一个问题,明明简单的For循环...
软件开发一直在推崇一个概念-低耦合、高内聚。 那什么样的代码设计才算得上低耦合、高内聚的代码。本文通过迪米特法则来讲解一下如何进行低耦合的代码设...
一个故事 小张需要申请一台显示器,需要在公司内部系统提交审核清单。审核清单的审批流程要经过直属领导、部门领导、资源部领导几个环节审批,其中任何一...
一个故事 小明今年买了一个毛坯房,计划六月份装修作为婚房使用。小明选择了自定义的装修方案。线槽、刷漆、家具定制、门窗定制都是由不同的厂家来定制安...
实际案例 一个主题切换案例 主题模式更换的案例中,不同的主题风格就是一个个策略,我们可以根须需要选择不同的策略。 如何理解策略模式 定义椅子算法...
Why 日常开发中经常会遇到重写equals和hashocode的场景,以前对这些概念很模糊,只知其然,不知其所以然,现在对这些知识理论进行总结...
Background 最近在使用List的remove方法抛出了UnsupportedOperationException异常,在网上查询了相关...