02 2020 档案
摘要:1、中介者模式(Mediator) 在现实生活中,常常会出现好多对象之间存在复杂的交互关系,这种交互关系常常是“网状结构”,它要求每个对象都必须知道它需要交互的对象例如,每个人必须记住他(她)所有朋友的电话;而且,朋友中如果有人的电话修改了,他(她)必须告诉其他所有的朋友修改,这叫作“牵一发而动全身
阅读全文
摘要:1、迭代器模式(Iterator) 在现实生活以及程序设计中,经常要访问一个聚合对象中的各个元素,如“数据结构”中的链表遍历,通常的做法是将链表的创建和遍历都放在同一个类中,但这种方式不利于程序的扩展,如果要更换遍历方法就必须修改程序源代码,这违背了“开闭原则” 既然将遍历方法去封装在聚合类中不可取
阅读全文
摘要:1、职责链模式 (Chain of Responsibility) 现实生活中,经常会遇到一个请求有多个对象进行处理,但是每一个对象的处理条件或者权限不同,比如说公司请假的时候,批准的人有产品线经理、部门负责人、主管副总等,但是每一个领导的权限不同,能批准的假天数也不同,所以员工需要根据自己需要请假
阅读全文
摘要:1.前言 在设计模式中,动态代理模式的学习中,遇到一个疑问:动态动态代理只能代理接口类,有接口才能工作,那么这个时候如果没有接口需要代理该怎么办? 后来找到的解决方案是CGlib代理模式。 2.什么是CGlib CGlib是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动
阅读全文
摘要:行为型模式用于描述程序在运行时候复杂的流程控制,即描述多个类或者对象之间怎么互相协作共同完成单个对象都无法单独完成的任务。它涉及算法与对象间职责的分配。是对不同的对象之间划分责任和算法的抽象化。 行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在几个类间分配行为,主要通过多态等方式来分配父
阅读全文
摘要:1、享元模式FlyWeight 面向对象程序设计的过程中,有时候会面临创建大量相同或者相似对象实例的问题,创建那么多的对象会耗费很多的系统资源,他是系统性能提高的一个瓶颈。 例如图像中的坐标点或者颜色,例如地图数据中的坐标或建筑物 这时候如果能够把他们相同的部分提取出来,则能节约大量的系统资源。这就
阅读全文
摘要:1、装饰模式 软件开发过程中,有时候想用一些现存的组件,这些组件可能只是完成了一些核心功能,但在不改变其结构的情况下,可以动态的扩展其功能,所有这些都可以用装饰模式来实现。 1.1. 装饰模式的定义与特点 装饰模式(Decorator)指的是在不改变现有类的结构的情况下,动态给该对象增加一些职责,说
阅读全文
摘要:1、结构型模式 结构型模式描述如何将类或者对象按照某种布局组成更大的结构,就像搭积木,可以通过简单的积木的组合成为复杂功能强大的结构。它分为类结构模式和对象结构模式。前者采用继承机制来组织接口和类,后者采用组合和聚合在组合对象。由于组合或者聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结
阅读全文
摘要:1、建造者模式 软件开发过程中有时候需要创建一个复杂的对象,这个复杂的对象通常由多个子部件按照一定顺序组合而成。 生活中这样的例子很多,如游戏中的不同角色,其性别、个性、能力、脸型、体型、服装、发型等特性都有所差异;还有汽车中的方向盘、发动机、车架、轮胎等部件也多种多样;每封电子邮件的发件人、收件人
阅读全文
摘要:1、工厂方法模式 1.1、模式的定义与特点 定义一个创建产品对象的工厂接口,将对象产品的实际创建工作延迟到具体的子类中,这满足创建型模式中所要求的的“创建与使用相分离”的特点。 我们把创建的对象成为产品,把创建产品的对象成为工厂。如果创建的工厂不多,只需要一个工厂类就可以完成,这种模式叫做“简单工厂
阅读全文
摘要:1、创建型模式概述 创建型模式主要的关注点是“怎样创建对象?”,它的主要特点是“将对象的创建和使用分离”。这样可以降低系统的耦合度。使用者不需要关心对象的创建细节。对象的创建由相关的工厂来完成。就像去生产购买东西,我们并不关心商品怎么生产出来,因为他们有专门的厂商生产。 根据对象的创建和组合方式不同
阅读全文
摘要:设计模式有两种分类方法,即根据目的来分类和作用的范围来分类。 1、按照目的划分: 1.1.创建型模式、结构性模式、行为型模式 创建型模式:单例、原型、工厂方法、抽象方法、建造者模式 结构型模式:代理、适配器、桥接、装饰、外观、享元、组合 行为型模式:模板方法、策略、命令、职责链、状态、观察者、中介者
阅读全文
摘要:java事件机制中包含下述三要素: 1、事件,发生了什么事,比如用户在界面上的一个操作(手势滑动屏幕),当一个事件发生的时候,该事件用一个事件对象表示,每一个事件对象都有其对应的事件类。 Java中事件一般继承自java.util.EventObject类,封装了事件源对象,以及事件的相关信息。 每
阅读全文
摘要:UML中定义了用例图、类图、时序图、协作图等九种。设计模式中经常会用到的是类图。类是面向对象系统组织结构的核心,类可以说是对一组具有相同属性、操作、关系和语义的对象的抽象。在UML中,类使用带有分隔线的矩形表示,它包含名称部分(Name)、属性部分(Attribute)和操作部分(Operation
阅读全文