摘要: 请仔细阅读下面代码,理解其中的设计理念。 chain-of-responsibility.jpg 职责链模式 职责链模式: 职责链模式是用来消除消息的请求者和处理者之间的耦合的模式,尤其是在处理者有多个的情况下。 实际场景 逛淘宝我们时常可以看到消费满多少立减多少,满的多减的多。 这种根据用户消费的 阅读全文
posted @ 2020-12-08 17:39 星月相随 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 请仔细阅读下面代码,理解其中的设计理念。 observer.jpg 观察者模式 观察者模式: 观察者模式是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 实际场景 一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这些方面封装在独立的对 阅读全文
posted @ 2020-12-08 17:37 星月相随 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 请仔细阅读下面代码,理解其中的设计理念。 command.jpg command-client.jpg 命令模式 命令模式: 命令模式是一中封装方法调用的方式,用来将行为请求者和行为实现者解除耦合。 实际场景 在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行 阅读全文
posted @ 2020-12-08 17:35 星月相随 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 请仔细阅读下面代码,理解其中的设计理念。 享元模式 享元模式: 运用共享物件来尽可能减少不变量的内存消耗。 实际场景 如果一个应用程序用到了大量的对象,且占用内存比较高,我们就可以考虑用享元模式来减少内存消耗。 例:统计一篇文章中所有文字的字体类型,内容,字号大小,颜色等(每一个文字都用对象存储)。 阅读全文
posted @ 2020-12-08 17:33 星月相随 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 请仔细阅读下面代码,理解其中的设计理念。 adapter.jpg 适配器模式 适配器模式: 一般是指不兼容的方法调用之间的一个代码薄层。 分为类适配器和对象适配器,但是类适配器一般要多继承,所以不推荐使用。 实际场景 我们在旧的系统中实现一个需要传入三个参数的方法,并且已经有很多地方在使用这个方法。 阅读全文
posted @ 2020-12-08 17:29 星月相随 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 请仔细阅读下面代码,理解其中的设计理念。 composite.jpg 组合模式 组合模式: 将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 实际场景 为了方便我们对多个文件的管理,我们引入了“文件夹-文件”的模式。将具有统一性质的文件放入一个 阅读全文
posted @ 2020-12-08 17:27 星月相随 阅读(1133) 评论(0) 推荐(0) 编辑
摘要: 如果下面的代码你能轻易阅读,那么你已经熟悉装饰者模式,可以接着学习其他的设计模式。 warpper.jpg 装饰者模式 装饰者模式: 装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 实际场景 我们购买一件白色/黑色的衣 阅读全文
posted @ 2020-12-08 17:24 星月相随 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 如果下面的代码你能轻易阅读,那么你已经熟悉门面模式,可以接着学习其他的设计模式。 facade 桥接模式:Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。它是为子系统中的一组接口所提供的一个一致的界面。 实际场景 进入医院之后 阅读全文
posted @ 2020-12-08 17:20 星月相随 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 如果下面的代码你能轻易阅读,那么你已经熟悉桥接模式,可以接着学习其他的设计模式。 bridge.jpg 桥接模式:桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interfce)模式。 实际场景 我们在 阅读全文
posted @ 2020-12-08 10:39 星月相随 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 如果下面的代码你能轻易阅读,那么你已经熟悉工厂模式,可以接着学习其他的设计模式。 factory.jpg 工厂模式:一个类或对象中往往会包含别的对象,在创建这种成员对象时。我们经常使用new来创建,但是这会导致相关的两个类之间产生依赖性。工厂模式使用了一个方法来决定使用究竟实例哪个类。 简单工厂 工 阅读全文
posted @ 2020-12-08 10:36 星月相随 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 如果下面的代码你能轻易阅读,那么你已经熟悉单体模式,可以接着学习其他的设计模式。 前言 car-shop 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式 阅读全文
posted @ 2020-12-08 10:32 星月相随 阅读(717) 评论(0) 推荐(0) 编辑
摘要: 请仔细阅读下面代码,理解其中的设计理念。 proxy.jpg 代理模式 代理模式: 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。 实际场景 实体创建比较费时:在等待期间给出提示; 本体创建出来占用内存过大: 等到用到这个实体的时候再去创建。 系统的权限控制: 用来过滤请求 阅读全文
posted @ 2020-12-08 10:25 星月相随 阅读(2999) 评论(0) 推荐(0) 编辑
摘要: 如题。被这个问题困扰了好几天。今天终于解决了。解决方法:File -> Sync with File System 或者 Sync Project with Gradle Files 原文地址:https://blog.csdn.net/gzyuan86/article/details/102235 阅读全文
posted @ 2020-12-08 10:22 星月相随 阅读(3703) 评论(0) 推荐(0) 编辑