- 博客(102)
- 资源 (1)
- 收藏
- 关注
原创 组合模式
组合模式示例总结相关的设计模式使用典范参考组合模式定义:将对象组合成树形结构以表示“部分-整体”的层次结构,使客户端对单个对象和组合对象保持一致的方式处理类型:结构型适用场景:希望客户端可以忽略组合对象与单个对象的差异时处理一个树形结构时优点:清楚地定义分层次的负责对象,表示对象的全部或部分层次让客户端忽略了层次的差异,方便对整个层次...
2018-09-16 12:54:42
3843
1
原创 外观模式(门面模式)
外观模式(门面模式)示例相关的设计模式使用典范参考外观模式(门面模式)定义:它为子系统中的一组接口提供一个统一的高层接口。这一接口使得子系统更加容易使用类型:结构型适用场景:子系统越来越复杂,增加外观模式提供简单的接口调用构建多层系统接口,利用外观对象作为每层的入口,简化层间调用优点:简化了调用过程,无需深入了解子系统,防止带来的风险减少...
2018-09-15 22:13:55
393
原创 建造者模式
建造者示例相关设计模式:使用典范参考建造者定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示特征:用户只需指定需要建造的类型就可以得到他们,建造的过程和细节不需要知道类型:创建型适用场景:如果一个对象有非常复杂的内部结构(很多属性)想把复杂对象的创建和使用分离优点:封装性好,创建和使用分离;扩展性好、建造类之间独...
2018-09-15 12:28:19
1273
原创 装饰者模式
装饰者模式示例关于装饰模式的透明性相关的设计模式使用典范参考装饰者模式定义:在不改变原有对象的基础上,将功能附加到对象上,提供了比继承更有弹性的替代方案,扩展原有对象的功能类型:结构型适用场景:扩展一个类的功能或给一个类添加附加的职责动态地给一个对象添加功能优点:继承的有力补充,比继承灵活,不改变原有对象的情况下给一个对象扩展功能(继承方...
2018-09-14 01:23:17
596
原创 抽象工厂
抽象工厂示例使用典范抽象工厂定义 :抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定它们具体的类创建型 :创建型适用场景:客户端(应用层)不依赖于产品类实例如何被创建、实现等细节强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖于具体的实现...
2018-09-09 18:30:12
14551
2
原创 工厂方法
工厂方法示例使用典范工厂方法定义 :定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行创建型 :创建型适用场景:创建对象需要大量重复的代码客户端(应用层)不依赖于产品类实例如何被创建、实现等细节一个类通过其子类来指定创建哪个对象优点:用户只需要关心所需产品对应的工厂,无需关心创建的细节;加入新产品符...
2018-09-08 15:22:37
1775
2
原创 简单工厂(静态工厂)
简单工厂(静态工厂)示例使用典范简单工厂(静态工厂)定义:由一个工厂对象决定创建出哪一种产品类的实例类型:创建型,不属于GOF23种设计模式适用场景:工厂类负责创建的对象比较少客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)并不关心优点:只需要传入一个正确的参数,就可以获取你所需要的对象而不需要知道其创建的细节缺点:工厂类的职责...
2018-09-07 13:27:19
9271
原创 设计模式6大原则
设计模式简述设计模式(Design pattern)就是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式6大原则总原则:开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这...
2018-06-17 14:35:30
374
原创 初识vue
Vue是什么Vue.js是一个渐进式的前端框架,所谓渐进式就是你可以有阶段性地使用Vue,而不必一开始就使用它的所有东西。同时,Vue也改变了传统的前端开发模式,提供了一下常见的高级功能,比如:解耦视图和数据可复用的组件前端路由状态管理虚拟DOM(Virtual DOM)MVVM模式与知名前端框架Angular、Ember等一样,Vue.js在设计上也使用了MVVM(Model-View
2018-04-09 22:30:07
494
2
转载 关于Block Formatting Context--BFC和IE的hasLayout
原文出自:穆乙’s Blog 专注前端技术一、BFC是什么?BFC(Block Formatting Context)直译为“块级格式化范围”。是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。当涉及到可视化布局的时候,Block Formatting Context提供了一个环境,HTML元素在
2017-11-25 14:57:23
275
原创 hibernate中使用oracle的序列作为主键问题
@Id @SequenceGenerator(name="gen",sequenceName="SEQ_ORDER_MAIN" ) @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="gen") @Column(name = "ID", unique = true, nullable = false)按照上面
2017-11-22 12:52:14
1529
转载 应不应该使用inline-block代替float
本文由99根据Steven Bradley的《Should You Use Inline-Blocks As A Substitute For Floats?》所译,整个译文带有我们自己的理解与思想,如果译得不好或不对之处还请同行朋友指点。如需转载此译文,需注明英文出处:http://www.vanseodesign.com/css/inline-blocks/,以及作者相关信息作者:St
2017-11-18 23:48:24
591
转载 oracle for update和for update nowait的区别
oracle for update和for update nowait的区别1、for update 和 for update nowait 的区别: 首先一点,如果只是select 的话,Oracle是不会加任何锁的,也就是Oracle对 select 读到的数据不会有任何限制,虽然这时候有可能另外一个进程正在修改表中的数据
2017-11-18 01:01:50
409
转载 poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
/** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */package xlsx;/** * @ClassName: CreateExcel * @Description: TODO() * @author www.xiongge.club * @date 2016-1
2017-10-16 13:41:36
2436
原创 ORA-12638: 身份证明检索失败
修改了windows的用户名和密码,在用plsql链接oracle数据库,发现无法登陆,提示ORA-12638: 身份证明检索失败,解决办法:开始 -> 程序 -> Oracle -> Configuration and Migration Tools -> Net Manager→本地→概要文件→Oracle高级安全性→验证→去掉所选方法中的 “NTS” 就可以了.注意:以管理员的身份运行
2017-09-26 11:37:15
428
转载 AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
文章原文:http://blog.csdn.net/mhmyqn/article/details/25561535HTTP请求中,如果是get请求,那么表单参数以name=value&name1=value1的形式附到url的后面,如果是post请求,那么表单参数是在请求体中,也是以name=value&name1=value1的形式在请求体中。通过chrome的开发者工具可以看到如下(这里是
2017-09-04 22:33:34
435
转载 Intellij IDEA 快捷键整理
【常规】Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开类Ct
2017-08-23 00:08:03
340
转载 IntelliJ idea创建Spring MVC的Maven项目
原文:IntelliJ idea创建Spring MVC的Maven项目参考:http://my.oschina.net/gaussik/blog/385697?fromerr=Pie9IlFV创建Maven Web项目菜单File->New Project可进入如图界面,首先选择左边栏Maven,再配置JDK(一般如果之前添加了JDK的话会自动填充,如未添加的
2017-08-22 22:51:13
546
转载 《Maven实战》学习笔记目录(转载)
下面是我在网上找到的一篇 《Maven 实战》学习笔记,博主是 琉璃仙境,他的博客主页是 http://suhuanzheng7784877.iteye.com/Maven3实战笔记01环境配置与使用入门 http://suhuanzheng7784877.iteye.com/blog/1066917Maven3实战笔记02坐标和依赖–1 说明:这节里面,作者示例了一个小的邮件发送系统,可以
2017-08-09 13:55:02
426
原创 maven笔记(四)
maven私服正式开发,不同的项目组开发不同的工程。 dao工程开发完毕,发布到私服。 service从私服下载dao需求项目组编写了一个通用的工具类,其它项目组将类拷贝过去使用,当工具类修改bug后通过邮件发送给各各项目组,这种分发机制不规范可能导致工具类版本不统一。解决方案:项目组将写的工具类通过maven构建,打成jar,将jar包发布到公司的maven仓
2017-08-09 11:32:39
260
原创 maven笔记(三)
分模块构建工程上一节中,利用maven构建了一个最基础的ssh项目,这一节将对该项目进行分模块构建工程。通过聚合和继承构建继承:创建一个parent工程将通用的pom配置抽取出来 聚合:聚合多个模块运行需求将ssh工程拆分为多个模块开发dao + service + web理解继承和聚合通常继承和聚合同时使用继承
2017-08-09 00:03:33
276
原创 maven笔记(二)
依赖管理-传递依赖传递依赖什么是传递依赖当A 依赖B、B依赖C,在A中导入B后会自动导入C,C是A的传递依赖,如果C依赖D则D也可能是A的传递依赖。如:web中添加struts-spring的jar,传递依赖了spring依赖范围对传递依赖的影响依赖会有依赖范围,依赖范围对传递依赖也有影响,有A、B、C,A依赖B、B依赖C,C可能是A的传递依赖,如下
2017-08-08 16:29:53
501
原创 maven笔记(一)
mvaen 介绍maven是什么maven翻译为“专家”,“内行”。Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。什么是项目构建项目构建是一个项目从编写源代码到编译、测试、运行、打包、部署、运行的过程传统项目构建过程传统的使用ecli
2017-08-08 11:47:57
654
原创 Freemark基础学习笔记
Freemarker 笔记FreeMarker模板文件主要由如下4个部分组成1.文本:直接输出的部分2.注释:格式部分,不会输出3.插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出4.FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出下面是一个FreeMarker模板的例子,包含了以上所说的4个
2017-08-07 21:48:49
362
转载 cookie、session与token
一、详述概念1、Cookie机制cookie机制是采用在客户端保持状态的方案(cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力)。cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。
2017-08-06 20:49:39
399
原创 行内元素设置宽高
对行内元素如span设置宽高,可以通过css设置display:block或者设置为浮动float块元素。 特性:有物理属性,width,height写值起作用,而且要占据一行。内联元素。 特性:没有物理属性。但是margin,padding值有用。不占据一行,后边可以有兄弟元素。即是块又是内联,根据兄弟兄弟元素决定。为什么是float之后才会有物理属性,这就是块与内联元素相互转化的问题。
2017-08-05 17:03:38
4723
转载 60个很实用的jQuery代码开发技巧收集
1. 创建一个嵌套的过滤器.filter(":not(:has(.selected))") //去掉所有不包含class为.selected的元素2. 重用你的元素查询var allItems = $("div.item"); var keepList = $("div#container1 div.item"); class names: $(formToLookAt + "
2017-08-05 16:15:30
500
转载 SVN版本冲突解决详解
版本冲突原因:假设A、B两个用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后提交kingtuns.txt到服务器,这个时候提交成功,这个时候kingtuns.txt文件的版本号已经变成101了。同时B用户在版本号为100的kingtuns.txt文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的101版本上作的修改,所以导致提交失败。
2017-08-05 15:48:06
339
转载 BeanUtils.copyProperties 在copy Integer类型问题
BeanUtils.copyProperties 在copy Integer类型问题static {ConvertUtils.register(new LongConverter(null), Long.class);ConvertUtils.register(new ShortConverter(null), Short.class);ConvertUtils.register(new In
2017-07-28 11:53:58
7206
转载 Struts 注解配置例子及redirect,redirectAction,chain的区别
1 package edu.b.recommender.actions; 2 3 import org.apache.struts2.convention.annotation.Action; 4 import org.apache.struts2.convention.annotation.Actions; 5 import org.apache.struts2.convent
2017-07-27 21:02:09
575
原创 log4j配置mybatis打印sql
log4j.rootLogger=debug,stdout,logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppender #log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout log4
2017-07-22 15:40:58
486
转载 dpkg、rpm 和 apt-get、yum 的区别及使用
一般来说著名的 Linux 系统基本上分两大类:RedHat 系列:Redhat、Centos、Fedora 等Debian 系列:Debian、Ubuntu 等Dpkg (Debian系):Ubuntu RPM (Red Hat系):CentOS、FedoraRedHat 系列常见的安装包格式 rpm 包,安装rpm包的命令是“rpm -参数”包管理工具 yum支持
2017-07-15 15:15:58
1086
转载 block,inline和inline-block概念和区别
总体概念block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素)。block元素通常被现实为独立的一块,会单独换一行;inline元素则前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满。大体来说HTML元素各有其自身的布局级别(block元素还是inlin
2017-07-15 13:35:13
310
原创 ajax跨域问题(三种解决方案)
为什么会出现跨域跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。跨域问题是针对JS和ajax的,html本身没有跨域问题,比如a标签、script标签、甚至form标签(可以直接跨域发送数据并接收数据)等 如何解决跨域问题JSONP JSONP
2017-05-28 17:23:11
136081
7
原创 办公自动化学习网站
本文中的信息均收集于互联网(持续更新)Excel学习网站http://www.excelcn.com/ Excel教程网http://club.excelhome.net/forum.php Excel homeWord学习网站http://www.51zxw.net/list.aspx?cid=435 Word2010基础教程http://v.dxsbb.com/ruanjian/wo
2017-05-24 15:14:04
1032
转载 微服务架构概念
微服务架构概念 当前微服务很热,大家都号称在使用微服务架构,但究竟什么是微服务架构?微服务架构是不是发展趋势?对于这些问题,我们都缺乏清楚的认识,本文基于作者在大型互联网系统的服务化实践和思考,和大家一起探讨微服务架构。本文主要内容包括:传统SOA架构新型SOA架构服务设计方式深入微服务微服务体系微服务系统架构传统SOA架构 说到微服务,离不开SOA,两者经常放一起讨论,首先我们
2017-05-15 22:05:52
3038
2
转载 memcached在大负载高并发网站上的应用(2)
写这篇文章之前,我也特意跟以前的同事做了一些交流,在此感谢sina xiangdong、kingsoft zhangyan和yahoo luke。另外,还有网上的朋友对我上一节的文章发表了许多有建设性评论,在这里一并感谢。 memcached最吸引人的地方主要在于它的分布式。分布式对于互联网应用来讲,按照用途基本上可划分为三种方式:分布式计算、分布式存储和两者兼而有之。m
2017-05-14 11:39:38
269
转载 memcached在大负载高并发网站上的应用(一)
大家可能对memcached这种产品早有了解,或者已经应用在自己的网站中了,但是也有一些朋友从来都没有听说过或者使用过。这都没什么关系,本文旨在从各个角度综合的介绍这种产品,尽量深入浅出,如果能对您现在或以后的工作有所帮助,笔者将感到无比荣幸。我要介绍的内容包括以下几个方面:1、memcached的简介2、memcached的应用场景3、memcached的安装4、me
2017-05-14 11:38:32
546
转载 12个非常有用的JavaScript技巧
原文:12 Extremely Useful Hacks for JavaScript 作者:Caio Ribeiro Pereira 翻译:雁惊寒在这篇文章中,我将分享12个非常有用的JavaScript技巧。这些技巧可以帮助你减少并优化代码。1) 使用!!将变量转换成布尔类型有时,我们需要检查一些变量是否存在,或者它是否具有有效值,从而将它们的值视为tr
2017-05-12 14:23:08
249
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人