随笔分类 -  设计模式

摘要:装饰器[Decorator]模式 模式定义:在不改变原有对象的基础上,将功能附加到对象上。 符合开闭原则 应用场景:扩展一个类的功能或者给一个类添加附加职责 优点: 1:不改变原有对象的情况下给一个对象添加功能 2: 使用不同的组合可以实现不同的效果 3:符合开闭原则 java代码: public 阅读全文
posted @ 2020-07-31 15:31 Noob52037 阅读(116) 评论(0) 推荐(0)
摘要:适配器模式[Adapter] 模式定义:将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。 eg:用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器等 适配器模式分为类结构型模式 阅读全文
posted @ 2020-07-31 14:48 Noob52037 阅读(149) 评论(0) 推荐(0)
摘要:门面[外观]模式--Facade 外观(Facade)模式的定义:是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。 外观(Facade)模式 阅读全文
posted @ 2020-07-29 23:38 Noob52037 阅读(172) 评论(0) 推荐(0)
摘要:享元(Flyweight)模式 模式定义:运用共享技术有效地支持大量细粒度的对象。 优点:如果系统中有大量类似的对象,可以节省大量的内存以及CPU资源。 缺点: 为了使对象可以共享,需要将一些不能共享的状态外部化,这将增加程序的复杂性。 读取享元模式的外部状态会使得运行时间稍微变长。 数据共享要考虑 阅读全文
posted @ 2020-07-29 22:45 Noob52037 阅读(113) 评论(0) 推荐(0)
摘要:原型(Prototype)模式 模式定义:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。 1:Cloneable接口/Object#clone方法 2:浅拷贝/深拷 阅读全文
posted @ 2020-07-29 21:06 Noob52037 阅读(233) 评论(0) 推荐(0)
摘要:建造者模式(Bulider模式) 模式定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。 该模式的主 阅读全文
posted @ 2020-07-29 17:44 Noob52037 阅读(194) 评论(0) 推荐(0)
摘要:抽象工厂模式(Abstract Factory) 模式定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。 抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产同一个等级的产品,而抽象工厂模式可生产多个等级的产品。 阅读全文
posted @ 2020-07-29 15:46 Noob52037 阅读(150) 评论(0) 推荐(0)
摘要:统一建模语言 一:UML 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 统一建模语言能为软件开 阅读全文
posted @ 2020-07-27 17:39 Noob52037 阅读(927) 评论(0) 推荐(0)
摘要:工厂方法模式[Factory Mothod] 模式定义: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使得一个类的实例化延迟到子类。 设计模式对稳定的部分提炼出来,成为一种模式。 应用场景: 1 当你不知道该使用对象的确切类型的时候 2 当你希望库或者框架提供 阅读全文
posted @ 2020-07-23 16:20 Noob52037 阅读(160) 评论(0) 推荐(0)