摘要: 全文一共1543字,预计阅读时间10分钟 定义: 状态模式(State),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 只看这个定义的话,想必会一头雾水,其实状态模式解决的问题是: 当控制了一个对象状态转换的表达式过于复杂时,我们可以把状态的判断逻辑转移到表示不同状态的一 阅读全文
posted @ 2019-12-30 20:39 进击的李同学 阅读(374) 评论(3) 推荐(1) 编辑
摘要: 定义: 建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 理解: 建造者模式有两重含义: 1 将一个对象的使用和创建过程分离,这样用户在使用这个对象的时候,就不需要关心该对象的具体创建过程和细节。 2 将对象创建的步骤抽象出来,再创建其他创建步 阅读全文
posted @ 2019-12-30 16:02 进击的李同学 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 全文共1439字,预计阅读时间:10分钟 定义: 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。 代理模式是一种比较贴近于生活的设计模式,现实生活中也有很多代理模式的例子: 住酒店不一定需要亲自到酒店去,还可以通过微信支付下的同程艺龙来订酒店。 我们可以通过中介去找房子,不用 阅读全文
posted @ 2019-12-27 14:14 进击的李同学 阅读(1666) 评论(8) 推荐(3) 编辑
摘要: 全文:959字,预计阅读时间:8分钟 定义: 装饰模式(Decorator)动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更加灵活。 这里可以举一个生活中的例子,一个蛋糕,在蛋糕上摆上水果,这个蛋糕就变成了水果蛋糕,给这个水果蛋糕插上蜡烛,它就变成了一个生日蛋糕。(这是Hea 阅读全文
posted @ 2019-12-26 23:25 进击的李同学 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 定义 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有的观察者对象,使他们能够自动地更新自己。 类图表示 参与者 根据依赖倒置原则可知,我们希望模块与模块之间不是直接耦合到一起,而是依赖于抽象,所以观察者模式抽象出了Subject 阅读全文
posted @ 2019-12-26 16:43 进击的李同学 阅读(686) 评论(0) 推荐(2) 编辑
摘要: 定义: 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 理解: 阅读全文
posted @ 2019-12-23 19:44 进击的李同学 阅读(321) 评论(0) 推荐(1) 编辑
摘要: 组合模式的定义 Compose objects into tree structures to represent part-whole hierarchies.Composite lets clients treat individual objects and compositions of o 阅读全文
posted @ 2019-12-23 15:02 进击的李同学 阅读(418) 评论(0) 推荐(1) 编辑
摘要: 前言 在初学Java web的时候,就曾听到过这样一种说法: java Web的演变过程大概可以分为4个阶段: jsp + Servlet + jdbc spring + struts2+ hibernate(ssh) spring + SpringMVC + mybatis(ssm) 微服务阶段。 阅读全文
posted @ 2019-12-18 22:31 进击的李同学 阅读(3394) 评论(6) 推荐(5) 编辑
摘要: 现象: tomcat安装好了,准备部署Web项目了,启动tomcat,发现没有反应。 虽然显示了Tomcat started。但是这个 started不等同于 success,当我们打开浏览器访问8080端口的时候,却发现我们的tomcat并没有被启动。 网上大多的教程都是教我们去查端口占用,或者是 阅读全文
posted @ 2019-12-18 21:27 进击的李同学 阅读(7550) 评论(0) 推荐(0) 编辑
摘要: 前言: 每道题附带动态示意图,提供java、python两种语言答案,力求提供leetcode最优解。 描述: 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 阅读全文
posted @ 2019-12-11 23:50 进击的李同学 阅读(438) 评论(0) 推荐(0) 编辑