设计模式-----观察者模式(Obsever)

定义了对象之间的一对多依赖,这样一来,当一个对象状态改变时,他的所有依赖者都会收到通知并自动更新。 观察者模式的组成: 抽象主题角色:把所有对观察者对象的引用保存在一个集合中。抽象主题提供一个接口,可以增加和删除观察者角色。 具体主题角色:在具体主题内部状态改变时...

2017-05-27 17:59:08

阅读数 252

评论数 0

设计模式----代理模式(Proxy)

为另一个对象提供一个替身或占位符以控制对这个对象的访问。 代理模式的组成: 主题接口(Subject):提取真正主题与代理的公共方法,让使用真正主题的地方也能用代理代替。 真正主题(RealSubject):真正处理请求的类。 代理(Proxy):真正主题的代理类,请求方通...

2017-05-27 17:57:23

阅读数 194

评论数 0

数据结构----线性表的应用

一.实验目的     熟悉线性表的链式存储结构,熟练掌握线性表各种基本操作的实现,培养灵活运用线性表解决实际问题的能力。 二.实验题目 键盘输入一组元素,建立一个带头结点的单向链表(无序),遍历单向链表,在单向链表中删除元素E,然后将单向链表逆置,设计一个MAIN()函数,分别调...

2017-05-27 17:55:45

阅读数 297

评论数 0

数据结构----栈和队列的综合应用

一.实验目的 熟悉掌握数据结构中队列的基本操作,能够结合栈与队列的结构灵活解决一些实际中问题。 二.实验题目 在许多语言现象中,常见到一种形如abcba的文字,这种文字从左到右读和从右到左读结果是一样的,这种文字就是常说的回文。设计一个程序可以判断给定的一个文字是否是回文。 ...

2017-05-27 17:52:23

阅读数 219

评论数 0

数据结构----二叉树的遍历

一.实验要求     二叉树的遍历操作是树形结构其他众多操作的基础。本实验旨在使学生进一步加深对二叉树的先序、中序和后序等三种遍历次序特点的理解,熟悉二叉链表存储结构,熟练掌握二叉树上的递归算法的设计技术。 二.实验题目     构造一棵二叉树,使用二叉链表方式存储,...

2017-05-27 17:51:55

阅读数 202

评论数 0

数据结构---表达式求值

一.实验目的    通过一个具体实际应用例子,加深对数据结构课程的理解,能够综合利用数据结构以及C语言的知识设计程序,应用到实际问题中去。 二.实验题目 常见的小型计算器可以通过输入一个由操作数和操作符组成的表达式计算出结构,设计一个程序模拟上述功能。本实验要求至少建立两个栈和一...

2017-05-27 17:50:52

阅读数 750

评论数 0

数据结构----各种排序算法的比较

一.实验目的    实现常用的排序算法,加深对这些算法的理解,以后可以将这些算法应用到实际问题的解决上。  二.实验题目 排序是在实际问题中经常用到的算法,快速、选择和插入三种排序算法是排序算法中最简单的也是最常用到的,实现这三种算法,在不同的数值序列上运行,然后比较...

2017-05-27 17:48:56

阅读数 356

评论数 0

算法----五大算法之分治法

分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 1. 基本概念 字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题...

2017-05-27 17:48:00

阅读数 292

评论数 0

算法----五大算法之动态规划

动态规划(英语:Dynamic programming,DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。 1. 基本概念...

2017-05-27 17:46:54

阅读数 353

评论数 0

算法----五大算法之贪心法

贪心法( Greedy algorithm),又称贪心算法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。 1. 基本概念 贪心算法与动态规划的不同在于它每对每个子问题的解决方案都做出选择,不能回退。动态规划...

2017-05-27 17:45:46

阅读数 359

评论数 0

算法----五大算法之回溯法

回溯法(英语:backtracking)是暴力搜寻法中的一种。 回溯法采用试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答再次尝试寻找问题的答案。回溯法通常用...

2017-05-27 17:44:45

阅读数 272

评论数 0

算法----五大算法之分支限界法

分枝界限法是由三栖学者查理德·卡普(Richard M.Karp)在20世纪60年代发明,成功求解含有65个城市的旅行商问题,创当时的记录。“分枝界限法”把问题的可行解展开如树的分枝,再经由各个分枝中寻找最佳解。 1. 基本概念 描述:采用广度优先产生状态空间树的结点,并使用剪...

2017-05-27 17:43:31

阅读数 653

评论数 0

Spring----AOP面向切面编程例子解析(附源码)

AOP概述(Aspect Oriented Programming) 是面向对象编程的有力补充。 面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设...

2017-05-27 17:42:17

阅读数 2891

评论数 2

面向切面编程的作用与实现简介

目录(?)[-] 一 为什么会出现面向切面的编程二 面向切面编程的实现 一 为什么会出现面向切面的编程     面向切面编程(AOP是Aspect Oriented Program的首字母缩写) ,我们知道,面向对象的特点是继承、多态和封装。而封装就要求将功能分散到不同的...

2017-05-27 17:36:23

阅读数 510

评论数 0

Java笔记——面向切面编程(AOP模式)

Aspect Oriented Programming  面向切面编程。解耦是程序员编码开发过程中一直追求的。AOP也是为了解耦所诞生。 具体思想是:定义一个切面,在切面的纵向定义处理方法,处理完成之后,回到横向业务流。 AOP 在Spring框架中被作为核心组成部分之一,的确Sp...

2017-05-27 17:33:43

阅读数 235

评论数 0

Java实现AOP面向切面编程的实例教程

这篇文章主要介绍了Java实现AOP面向切面编程的实例教程,通常Java中的AOP都是利用Spring框架中造好的轮子来开发,而本文则关注于Java本身AOP的设计模式实现,需要的朋友可以参考下   介绍 众所周知,AOP(面向切面编程)是Spring框架的特色功能之一。...

2017-05-27 17:32:40

阅读数 7301

评论数 0

面向切面编程(AOP)

AOP、OOP在字面上虽然非常类似,但却是面向不同领域的两种设计思想: OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。对于“雇员”这样一个业务实体进行封装,自然是OOP/OOD的任务,我们可以为其建立一个“Employee”类,并将...

2017-05-27 17:30:42

阅读数 308

评论数 0

使用Spring进行面向切面编程(AOP

使用Spring进行面向切面编程(AOP) 简介 面向切面编程(AOP)提供另外一种角度来思考程序结构,通过这种方式弥补了面向对象编程(OOP)的不足。 除了类(classes)以外,AOP提供了切面。切面对关注点进行模块化,例如横切多个类型和对象的事务管理。 (这些关注点术语通常称作...

2017-05-27 17:28:01

阅读数 675

评论数 0

面向切面编程的两种实现

1、面向切面的定义自行百度 2、面向切面编程的应用场景自己想象,大概就是日志之类的地方 3、上面两句话基本是废话 实现方式一,在XML中声明切面 1、编写一个原始类 [java] view plain copy ...

2017-05-27 17:24:18

阅读数 1359

评论数 0

面向切面编程的应用场景

在传统的编写业务逻辑处理代码时,我们通常会习惯性地做几件事情:日志记录、事务控制及权限控制等,然后才是编写核心的业务逻辑处理代码。当代码编写完成回头再看时,不禁发现,扬扬洒洒上百行代码中,真正用于核心业务逻辑处理才那么几行,如图6-4所示。方法复方法,类复类,就这样子带着无可奈何遗憾地度过了多少个...

2017-05-27 17:22:26

阅读数 756

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭