随笔分类 - 设计模式
java的设计模式
摘要:一、装饰者模式定义 装饰者模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象 二、装饰者的应用场景 1、想透明并且动态地给对象增加新的职责的时候 2、给对象增加的职责,在未来存在增加或减少可能。 3、用继承扩展功能不太实现的情况
阅读全文
摘要:一、定义 观察者模式的好处是:它解除了观察者和目标之间的耦合关系。目标不需要知道他的额观察者的任何信息。相反目标只是允许观察者订阅事件。当目标产生一个事件时,它简单的将事件传给每一个观察者。 简单的说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者检查一个主题对象。这样一个主题对象在状态上
阅读全文
摘要:一、迭代器模式概念:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 二、迭代器的角色构成 (1)、迭代器角色 (2)、具体迭代器角色 (3)、容器角色 (4)、具体容器角色 三、迭代器模式的优缺点 优点:1、简化了遍历方式,对于对象集合的遍历,还是比较麻烦的,对于数组或者
阅读全文
摘要:一、适配器模式定义 把一个类的接口变换成客户端所期待的另一种接口,使得原本由于接口不兼容而不能再一起工作的那些类可以一起工作。 二、适配器模式分类 1、类的适配器模式(采用继承实现) 2、对象适配器(采用对象组合方式实现) 三、应用场景 1、系统需要使用现有的类,而这个类的接口不符合系统的需要 2、
阅读全文
摘要:一、功能:保证在整个应用中只有一个实例存在。(例如只创建一个窗口,JDBC连接数据库程序只连接一个等)。 二、概念:对某个类只能存在一个对象实例,并且该类提供了一个取得其对象实例的方法。 三、单子模式第一种写法: 步骤:1、首先私有化构造器,这样在外部就不能随意new对象了 2、在类的内部定义并产生
阅读全文
摘要:一、简单工厂模式存在的问题: 当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”。 要实现增加新产品的同时还不修改工厂类,就产生了工厂模式。 二、工厂模式简介 在工厂方法模式中,我们不再提供一个统一的工厂类来创建所有的产品对
阅读全文
摘要:1、工厂模式概述 简单工厂模式是工厂方法模式的“小弟”,它不属于GoF 23种设计模式,但在软件开发中应用也较为频繁,通常将它作为学习其他工厂模式的入门。此外,工厂方法模式还有一位“大哥”——抽象工厂模式。这三种工厂模式各具特色,难度也逐个加大,在软件开发中它们都得到了广泛的应用,成为面向对象软件中
阅读全文
摘要:UML(统一建模语言)是当前软件开发中使用最为广泛的建模技术之一,通过使用UML可以构造软件系统的需求模型(用例模型)、静态模型、动态模型和架构模型 UML类图 1、UML类图图示 在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示,如定义一个Employee类,它包含属性name、a
阅读全文
摘要:设计模式三个性质: 1、可扩展性:容易将新的功能添加到现有的系统中,与过于僵硬的相对应 2、灵活性:代码修改时不会波及很多其他模块,与过于脆弱相对应 3、可插入性:可以很方便的将一个类抽取出去,同时将另一个有相同接口的类插入进来,与黏度过高相对应。 设计模式六大原则: 书上是7个:单一职责原则:类的
阅读全文
摘要:根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational P
阅读全文