随笔分类 - 设计模式
摘要:差异点 外观模式,是把功能通过一个接口提供出来,方便日后更换实现,或者这种实现可以由多方提供,但同时只用一个。典型例子:@Slf4j 桥接模式,多个维度,每个维度提供一个接口,这些接口集中在一个类中,供这个类使用。 相同点 都是通过抽象一个接口,通过接口访问具体的功能。 设计思想:分离不同的变化方向
阅读全文
摘要:组合模式概述 组合模式为处理树形结构提供了一种较为完美的解决方案,它描述了如何将容器和叶子进行递归组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器(包含子节点的节点)和叶子(不包含子节点的节点)。 常用到组合模式的场景:操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等
阅读全文
摘要:桥接模式概述 桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职责原则”。与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似
阅读全文
摘要:什么是适配器 我的笔记本电脑的工作电压是20V,而我国的家庭用电是220V,如何让20V的笔记本电脑能够在220V的电压下工作?答案是引入一个电源适配器(AC Adapter),俗称充电器或变压器,有了这个电源适配器,生活用电和笔记本电脑即可兼容。 在软件开发中,有时也存在类似这种不兼容的情况,我们
阅读全文
摘要:建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。 建造者模式概述 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者
阅读全文
摘要:1 装饰模式举例 如图,在一个图表上,加上滚动条,便是装饰了图表。 2 装饰模式概述 装饰模式的定义: 装饰模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。 装饰模式的特点: 1、在不改
阅读全文
摘要:1. 外观模式概述 外观模式又称为门面模式,它是一种对象结构型模式。 解决的问题:大侠喝茶。 做法:通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口。 目的:将客户类与子系统的内部复杂性分隔开,降低子系统与客户端的耦合度,客户端不需要与子系统内部的很多对象打交
阅读全文
摘要:1 原型模式概述 通过一个原型对象克隆出多个一模一样的对象,该模式称之为原型模式。比如孙悟空可以用猴毛根据自己的形象,复制(又称“克隆”或“拷贝”)出很多跟自己长得一模一样的“身外身”来。 2 原型模式的一个需求 订会议室:当你预定一个会议室时,可能有十几个项需要填写,但这些项呢,基本都是一致的,只
阅读全文
摘要:1 单例模式的动机 为了节约系统资源,有时需要确保系统中某个类只有唯一一个实例,当这个唯一实例创建成功之后,我们无法再创建一个同类型的其他对象,所有的操作都只能基于这个唯一实例。为了确保对象的唯一性,我们可以通过单例模式来实现,这就是单例模式的动机所在。 2 单例模式概述 单例模式(Singleto
阅读全文
摘要:1 什么是设计模式 模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。【A pattern is a successful or efficient solution to a recurring problem within a context】 软件模式是在软件开发中某些可重
阅读全文
摘要:2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 + 简单工厂模式),为了方便大家学习,现将所有文章的链接进行了整理,希望能给各位带来帮助! 祝大家圣诞节快乐! 花絮:本文的工作量大大
阅读全文
浙公网安备 33010602011771号