- 博客(69)
- 收藏
- 关注
原创 spring aop 及实现方式
一、AOP的基本概念:1、什么是aop:AOP(Aspect Oriented Programming)称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。在不改变原有的逻辑的基础上,增加一些额外的功能。代理也是这个功能,读写分离也能用aop来做。AOP可以说是OOP(Object ...
2020-02-28 12:55:06 81
原创 servlet生命周期详解
1)初始化阶段当客户端向 Servlet 容器发出 HTTP 请求要求访问 Servlet 时,Servlet 容器首先会解析请求,检查内存中是否已经有了该 Servlet 对象,如果有,则直接使用该 Servlet 对象,如果没有,则创建 Servlet 实例对象,然后通过调用 init() 方法实现 Servlet 的初始化工作。需要注意的是,在 Servlet 的整个生命周期内,它的 i...
2020-02-28 11:03:34 160
原创 web核心
转发和重定向的区别转发:转发是服务端行为,通过request.getRequestDisparcher.forward(request,response)转发在服务器端发挥作用,通过forward()方法提交信息在多个页面之间进行传递。地址栏不会改变转发只能转发到当前web应用内的资源在转发过程中,可以将数据保存到request域中转发只有一次请求重定向是客户端行为,通过res...
2020-02-23 22:16:44 228
原创 反射
1.Class.forName(“com.mysql.jdbc.driver”);2.Person.class;3.new Person().getClass();4
2020-02-23 19:05:17 68
原创 javaScript
var function method(a,b){ return a+b; } var p=method(1,2){ alert p; } var e =encodeuri("发给"} document.write(e); var a =decodeuri(e); document.write(a);var i =parseint("1234")var i=parsei...
2020-02-23 17:50:25 63
原创 有关数据库的总结
1.mysql引擎的选择1.查看当前数据库支持的类型show engine2.查询表的引擎show table status from db1;3查询具体表的引擎show table status from db1 where name=‘student’;mysql 1.5之后默认 innodbcreate dastabase if not exists db1 charact...
2020-02-23 15:55:04 107
转载 确保对象的唯一性——单例模式 (一)
3.1 单例模式的动机 对于一个软件系统的某些类而言,我们无须创建多个实例。举个大家都熟知的例子——Wind...
2020-02-18 11:31:19 220
转载 设计模式与足球(三)
行为型模式(上) (13) 职责链模式:布冯手抛球给基耶利尼、基耶利尼传给皮尔洛、皮尔洛带球过人之后将球直塞给快速插上的巴洛特利,巴洛...
2020-02-14 23:59:49 244
转载 设计模式与足球(二)
结构型模式 (6) 适配器模式:很多足球队都喜欢请外国教练(其中有一支我们都非常熟悉的国家队,名字偶就不说了,大家都懂的,),外国...
2020-02-14 23:58:11 187
转载 设计模式与足球(一)
今天晚上2012年欧洲杯决赛(西班牙 VS 意大利),作为一名铁杆球迷,偶当然不会错过(请不要让我来预测比分,我不是章鱼,更何况这两个队我都非常喜欢,输赢我都很淡定,),...
2020-02-14 23:56:07 217
原创 实现对象的复用——享元模式(五)
14.5 单纯享元模式和复合享元模式 标准的享元模式结构图中既包含可以共享的具体享元类,也包含不可以共享的非共享具体享元类。但是在实际使用过程中,我们有时候会用到两种特殊的享元模式:...
2020-02-14 23:47:22 309
转载 实现对象的复用——享元模式(四)
14.5 带外部状态的解决方案 Sunny软件公司开发人员通过对围棋棋子进行进一步分析,发现虽然黑色棋子和白色棋子可以共享,但是它们将显示在棋盘的不同位置,如何让相同的黑子或者白子能...
2020-02-14 20:40:16 57
转载 实现对象的复用——享元模式(三)
14.3 完整解决方案 为了节约存储空间,提高系统性能,Sunny公司开发人员使用享元模式来设计围棋软件中的棋子,其基本结构如图14-4所示:图14-4 围棋棋子结构图...
2020-02-14 20:15:32 86
转载 实现对象的复用——享元模式(二)
享元模式结构较为复杂,一般结合工厂模式一起使用,在它的结构图中包含了一个享元工厂类,其结构图如图14-3所示: 图14-3 享元模式结构图 &nb...
2020-02-14 19:41:56 56
转载 实现对象的复用——享元模式(一)
当前咱们国家正在大力倡导构建和谐社会,其中一个很重要的组成部分就是建设资源节约型社会,“浪费可耻,节俭光荣”。在软件系统中,有时候也会存在资源浪费的情况,例如在计算机内存...
2020-02-14 19:33:47 134
转载 面向对象设计原则之迪米特法则
迪米特法则来自于1987年美国东北大学(Northeastern University)一个名为“Demeter”的研究项目。迪米特法则又称为最少知识原则(LeastKnowledge Pri...
2020-02-13 23:48:49 134
转载 面向对象设计原则之合成复用原则
合成复用原则又称为组合/聚合复用原则(Composition/Aggregate Reuse Principle, CARP),其定义如下:合成复用原则(Composite Reuse Pr...
2020-02-13 23:47:40 137
转载 面向对象设计原则之接口隔离原则
接口隔离原则定义如下:接口隔离原则(Interface Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它...
2020-02-13 23:43:28 131
原创 依赖、关联、聚合和组合之间的区别
在学习面向对象设计对象关系时,依赖、关联、聚合和组合这四种关系之间区别比较容易混淆。特别是后三种,仅仅是在语义上有所区别,所谓语义就是指上下文环境、特定情景等。他们在编程语言中的体现却是基本相同的,但是基本相同并不等于完全相同,这一点在我的前一篇博文《设计模式中类的关系》中已经有所提及,下面就来详细的论述一下在java中如何准确的体现依赖、关联、聚合和组合。首先看一看书上对这四种关系的定义:依...
2020-02-13 21:42:27 166
转载 面向对象设计原则之依赖倒转原则
如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现。依赖倒转原则是Robert C. Martin在1996年为“C...
2020-02-13 21:25:35 104
转载 面向对象设计原则之开闭原则
开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。开闭原则由Bertrand Meyer于1988年提出,其定义如下:开闭原则(Open-Closed P...
2020-02-13 21:10:14 292
转载 面向对象设计原则之单一职责原则
单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。单一职责原则定义如下:单一职责原则(Single Responsibility Principle, SRP):一个类只负责一...
2020-02-13 21:05:03 126
原创 撤销功能的实现——备忘录模式(五)
21.5 再谈备忘录的封装 备忘录是一个很特殊的对象,只有原发器对它拥有控制的权力,负责人只负责管理,而其他...
2020-02-13 17:41:32 344
转载 撤销功能的实现——备忘录模式(四)
21.4 实现多次撤销 Sunny软件公司开发人员通过使用备忘录模式实现了中国象棋棋子的撤销操作,但是使用上...
2020-02-13 17:07:38 157
转载 撤销功能的实现——备忘录模式(三)
21.3 完整解决方案 为了实现撤销功能,Sunny公司开发人员决定使用备忘录模式来设计中国象棋软件,其基本...
2020-02-13 16:51:40 153
原创 撤销功能的实现——备忘录模式(二)
21.2 备忘录模式概述 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,...
2020-02-13 16:50:40 80
转载 撤销功能的实现——备忘录模式(一)
每个人都有过后悔的时候,但人生并无后悔药,有些错误一旦发生就无法再挽回,有些人一旦错过就不会再回来,有些话...
2020-02-13 16:26:46 280
转载 创建对象与使用对象——谈谈工厂的作用
在设计模式的教学和推广过程中,很多企业学员和在校学生经常问我,工厂模式(包括简单工厂模式、工厂方法模式和抽...
2020-02-13 16:24:19 123
转载 处理多维度变化——桥接模式(三)
10.3 完整解决方案 为了减少所需生成的子类数目,实现将操作系统和图像文件格式两个维度分离,使它们可以独立改变,Sunny公司开发人员使用桥接模式来重构跨平...
2020-02-13 10:04:30 174
转载 处理多维度变化——桥接模式(二)
10.2 桥接模式概述 桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更...
2020-02-13 10:02:48 437
转载 处理多维度变化——桥接模式(一)
在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够绘制12种不同的颜色,如果使用蜡笔,需要准备3×12 = 36支,...
2020-02-09 17:28:17 111
原创 操作复杂对象结构——访问者模式(四)
26.4 访问者模式与组合模式联用 在访问者模式中,包含一个用于存储元素对象集合的对象结构,我们通常可以使用迭代器来遍历对象结构,同时具体元素之间可以存在整体与部分关系,有些元素作为容器对象,有...
2020-02-09 17:24:06 140
转载 操作复杂对象结构——访问者模式(三)
26.3 完整解决方案 Sunny软件公司开发人员使用访问者模式对OA系统中员工数据汇总模块进行重构,使得系统可以很方便地增加新类型的访问者,更加符合“单一职责原则”和“开闭原则”,重构后的基本...
2020-02-09 16:18:24 82
转载 操作复杂对象结构——访问者模式(二)
26.2 访问者模式概述 访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。例如...
2020-02-09 16:17:27 101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人