随笔分类 - 设计模式
摘要:设计模式之模板模式 案例 豆浆制作 豆浆制作流程选材-->添加配料-->浸泡-->放到豆浆机打碎 通过添加不同的材料,可以制作出不同口味的豆浆 选材、浸泡和放到豆浆机打碎这几个步骤对于制作每一种口味的豆浆都是一样的 通过模板方法实现 模板方法基本介绍 介绍 模板方法模式,又叫模板模式,在一个抽象类公
阅读全文
摘要:设计模式之代理模式 代理模式具体介绍 代理模式:为被代理对象提供一个提升,以控制对这个对象的访问。即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增加额外的功能操作,即扩展目标对象的功能 被代替的对象可以是远程对象、创建开销大的对象或者需要进行安全控制的对象 代理模式有三种不
阅读全文
摘要:设计模式之享元模式 案例 一个小型的外包项目,给客户A做一个产品展示网站,客户A的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求有些不同: 有客户要求以新闻的方式发布 有客户要求以博客的方式发布 有客户希望以微信公众号地方形式发布 享元模式 基本介绍 享元模式也叫作蝇量模式:应用共享技术有效
阅读全文
摘要:设计模式之外观模式 外观模式基本介绍 外观模式也叫做过程模式:外观模式为子系统 的一组接口提供一个一致的界面 ,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 外观模式通过定义一个一致的接口,用于屏蔽内部子系统的细节,使得调用端和这个接口发生调用,而无需关心这个子系统的内部细节 结构型
阅读全文
摘要:设计模式之组合模式 需求 看一个学校院系展示需求:编写一个程序展示一个学校院系结构:要在一个页面中展示出学校的页面组成。一个学校有多个学院,一个学院有的多个系,如图: 传统方式解决:就是系继承学院,学院继承学校(但是学校和学院、学院和系之间应该是包含关系) 传统方案解决学校院系展示问题分析 将学院看
阅读全文
摘要:设计模式之装饰着模式 简单例子说明装饰者模式 星巴克咖啡订单项目(咖啡管) 咖啡种类:Espresso(意大利浓咖啡)、shortBlack、LongBlack、Decaf 调料:Milk、Chicilate、Soy(豆浆) 要求在扩展新的咖啡时,具有良好的延展性、改动方便、维护方便 使用OO来计算
阅读全文
摘要:设计模式之桥接模式 桥接模式基本介绍 桥接模式是指:将现实与抽象放在两个不同的类层次中,使两个层次可以独立改变 是一种结构型设计模式 Bridge模式基于最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责。他的主要特点就是把抽象与行为实现分离开来,从而保持各部分的独立性以及应对她们
阅读全文
摘要:设计模式之适配器模式 适配器模式基本介绍 基本介绍 适配器模式(Adapter Pattern)将某个类 接口转换成客户端期望的另一个接口表示,主要目的是兼容性,让原本因接口不匹配不能在一起工作的两个类可以协同工作。其别名为包装器 适配器模式属于结构型模式 主要分为3类:类适配器模式、对象适配器模式
阅读全文
摘要:设计模式之建造模式 实例:建房子 建房子的流程:可以大致分为以下几个步骤:打地基、砌墙、封顶 房子的种类也有各式各样的,有普通房子、高楼、别墅,虽然建造步骤都一样,但是要求是不同的 传统方式 代码 //首先可以创建一个抽象类或者接口public abstract class AbstractHous
阅读全文
摘要:设计模式之原型模式 问题:现在有一只羊tom,姓名为:tom,年龄为:1,颜色为:白色,请编写程序创建和tom羊属性完全相同的10只羊 代码 //传统的解决思路:可以使用类图展示一下class Sheep{ private String name; private int age; private
阅读全文
摘要:设计模式7大原则 设计模式的目的,让软件有以下的特性 代码重用性更高(相同功能地方代码,不用重复编写) 可读性更好(编程的规范性,便于其他人的阅读和理解) 可扩展(当需要增加新的功能时,非常方便,并且成本低) 可靠性更高(当增加功能后,对原有功能没有影响) 使得程序出现高内聚、低耦合的特性 7大原则
阅读全文
摘要:设计模式之单例模式 什么是单例模式 确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,该类只提供一个取得其对象的方法(静态的) 单例模式种类 饿汉式(静态常量) 实现步骤 私有化构造方法 在类内部创建一个静态的常量对象 向外暴露一个人公共的静态方法返回对象 优点 简单,好理解,在类装在
阅读全文