Java——设计模式
文章平均质量分 66
借助实例,深入浅出理解这些巧妙的设计思想。
少歌
轻轻地我走了,正如我轻轻地来,挥一挥衣袖,不带走一片云彩。
展开
-
设计模式——构建者模式(Builder)
构建者模式(Builder)将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。原创 2021-12-21 16:20:00 · 437 阅读 · 0 评论 -
设计模式——状态模式
设计模式——状态模式对多态的灵活运用。举个栗子帮助治疗一下我总是喜欢 举例子给出一个场景:你有一个女朋友,她的情绪比较不稳定,时而悲伤,时而高兴。当你在不同状态下留意她的动作时,会得到截然相反的结果。比如:高兴的时候,语言表达多以笑为主。悲伤的时候,多以哭为主。但无论哪个状态下,这些动作都有着统一性。所以给出GirlFriendState抽象类:public abstract class GirlFriendState { //表达 prote原创 2021-08-16 20:30:22 · 83 阅读 · 0 评论 -
设计模式——抽象工厂模式
抽象工厂模式这个模式比较抽象,我们先给一个定义:抽象工厂模式提供了一个创建一系列相关或相互依赖对象的接口,无需指定他们具体的类。我(菜鸡):没错 , 这很抽象。适用场景:客户端(应用层)不依赖于产品类 实例 如何被 创建 和 实现 等细节。强调一系列相关的产品对象(属于同产品族)一起使用创建对象需要大量的重复代码。提供一个产品类库,所有产品以同样的接口出现,从而使客户端不依赖其具体的实现。(进一步抽象)换一句话说, 抽象工厂模式就是 工厂的工厂 !在实际的场景业务中:原创 2021-08-14 18:22:28 · 192 阅读 · 0 评论 -
设计模式——工厂模式(简单工厂 和 方法工厂)
简单工厂模式场景 : 当某一类型的 实例对象 创建过程较为复杂时,我们可以采用此设计思想。拿线程池的创建举个例子,看看 这么多参数!每次在创建的时候 都要考虑很多。于是有了工厂模式的思想:我们把繁杂的创建过程 交给工厂去做,将面对客户的方法简单化。场景分析:现在我们有一个车场的需求,每生产一辆车要创建一个车的实例。比如 生产一个 特斯拉:new Tesla("tesla",1,2);特斯拉对应类:public class Tesla{ private String原创 2021-08-14 16:16:31 · 245 阅读 · 0 评论 -
设计模式——单例模式详解(边边奋斗史)
单例模式单例类实例化出来的对象是堆里的一个对象,且是同一个对象使用场景:当对象需要频繁的创建和销毁的时候,单例可以提高性能优点:1.只有一个实例对象,可以节省很多空间。2.对象不会被重复的 new ,降低了对系统资源的重复占用,提高了性能。缺点:1.只有一个对象的话,无疑扩展性差了很多。(想扩展你就得来改这个 单例类)2.场景比较多的时候,单例就显得很无力了,根本无法应对,这时候还是不要使用单例了3.配合连接池时,不推荐使用,单例又不会死,一直来,池子就满了。饿汉式/**原创 2020-09-15 23:57:51 · 151 阅读 · 0 评论 -
设计模式——观察者模式详解(边边奋斗史)
场景气象站发布 和 更新 天气信息,第三方站点 获取的过程。思路_1:第三方站点主动去调用气象站的数据。表面上看没什么问题,但从具体情况出发就会显得略显不妥。第三方只能定时的去获取,这可能会不准确,也可能会浪费系统资源。因为第三方无法知道气象站的更新时间思路_2:气象站主动给第三方推送。这样似乎解决了思路_1的问题,但有出现了新的问题:如果要想让气象站推送的话,那么第三方站点就需要被气象站维护。换言之,就是气象站类依赖于第三方站点类。这样的话,当第三方站点数量和原创 2020-11-19 17:09:24 · 124 阅读 · 0 评论