- 博客(39)
- 资源 (2)
- 收藏
- 关注
原创 Java23种设计模式之结构型模式「桥接模式」
桥接模式 - Bridge用于把抽象化与实现化解耦,使得二者可以独立变化通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响意图: 将抽象部分与实现部分分离,使它们都可以独立的变化主要解决: 在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活优点: 1、抽象和实现的分离。 2、优秀的扩展能力。 3、实现细节对客户透明缺点: 桥接模式的引入会增加系统的理解与设计难度,由于
2020-08-04 10:27:37
228
原创 Java23种设计模式之结构型模式「外观模式」
外观模式 - Facade Pattern隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用意图: 为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用优点: 1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性缺点: 不符合开闭原则,如果要改东西很麻烦,继承重写都不合适定义两个业务方法public class MethodA {
2020-08-04 09:15:25
222
原创 Java23种设计模式之结构型模式「代理模式」
代理模式 - Proxy Pattern在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。意图: 为其他对象提供一种代理以控制对这个对象的访问。目前有一个现有的业务逻辑 并 有实现逻辑public interface Product { void createProduct();}public class ProductLevel implements Prod
2020-07-29 17:24:44
211
原创 Java23种设计模式之结构型模式「装饰器模式」
装饰器模式 - Decorator Pattern装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。意图: 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。目前有一个现有的业务逻辑 并 有实现逻辑public interface ProductLevel
2020-07-29 16:37:41
165
原创 Java23种设计模式之结构型模式「适配器模式」
适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。目前有一个现有的业务逻辑public class Product { public String createProduct() {
2020-07-29 16:11:35
117
原创 Java23种设计模式之创建型模式「工厂方法模式」
工厂方法模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。创建业务逻辑接口public interface Product { void creatProduct();}实现业务逻辑接口public class HighProduct implements Product {
2020-07-29 09:42:21
113
原创 Java23种设计模式之创建型模式「抽象工厂模式」
抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。创建项目等级的接口public interface ProductLevel { void creatProduct();}实现项目等级的接口:高等级和低等级pu
2020-07-28 17:49:10
122
原创 Java23种设计模式之创建型模式「建造者模式」
建造者模式将一个复杂对象的构建与表示分离开来,使用多个简单的对象一步一步构建成一个复杂的对象,它提供了一种创建对象的最佳方式用于构建多样化的对象,替代对象的构建函数,更加自由化定义对象/** * 产品对象 * * @author Mr.lim */public class ProductInfo { // 产品名称 private String name; // 产品期限 private String term; // 开发团队 p
2020-07-28 17:03:06
111
原创 Java BigDecimal 高精度运算
不同舍入模式下的舍入操作汇总数字UPDOWNCEILINGFLOORHALF_UPHALF_DOWNHALF_EVEN5.565656562.532323221.621212221.121211111.01111111-1.0-1-1-1-1-1-1-1-1.1-2-1-1-2-1-1-1-1.6-2-1-1-2-2-2-
2020-07-24 16:23:31
317
原创 Java23种设计模式之创建型模式「原型模式」
原型模式/** * 原型模式 * <p> * 浅复制(浅克隆):将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的 * 深复制(深克隆):不管是基本数据类型还是引用类型,都会重新创建。简单来说:就是深复制进行了完全彻底的复制 * <p> * 注: * 实现 Cloneable 接口,并覆盖其clone方法,并且声明为 public * 浅复制和深复制建议不要混合使用,一个类中某些引用使用的浅复制,某些引用使用了深复制 * 这是
2020-07-23 17:34:40
121
原创 Java23种设计模式之创建型模式「单例模式」
单例模式 之 holder 模式 (推荐)/** * 单例模式 之 holder 模式 * 带有 Holder 的方法, * 类级内部类,静态的成员内部类,该内部类的实例与外部类的实例没有绑定关系 * 只有在调用的时候才会被封装,从而实现了延迟加载,即懒汉式 * * holder方式的单例模式是最好的设计之一,也是目前用的比价广泛的设计之一 * * 优点: * 将懒加载和线程安全完美结合的一种方式(无锁) * * 缺点: * * 注: * final 修
2020-07-22 16:33:46
150
原创 杰克琼斯 - 杭州 门店地址 电话
杭州 Tpy Dongyang Local 341802 宣州区 叠嶂中路46号八佰伴 0563-5218529杭州 Yintai Fuyang 330183 富阳 春秋北路271-1号 0571-61713532杭州 Hualiandasha Haining Local 330481 海宁 工人路58号 0573-87285353杭州 Diyibaihuo Zhu
2015-08-09 15:06:16
4904
1
原创 Centos镜像地址列表(全)
点击预览非洲 埃及 埃及CityNet主机数据中心 http://mirror.citynethost.com/centos/ 非洲 南非 BitCo http://mirror.bitco.co.za/centos/ 非洲 南非 流入SA http://www.ftp.saix.net/pub/linux/distributions/centos/ ftp://ftp.s
2015-08-07 17:28:34
14708
原创 Mac 改变 Launchpad 图标大小
打开终端:改变横向图标数量:defaults write com.apple.dock springboard-columns -int 11改变纵向图标数量:defaults write com.apple.dock springboard-rows -int 6最后,重置 Launchpaddefaults write com.apple.dock ResetLaunchPad -bool TR
2015-07-01 14:30:56
1286
原创 MacBook U盘装系统详细步骤
第一步:到 App Store 下载 OS X Yosemite 10.10.3 镜像(在Mac里面,其实就是一个App)下载好之后就是:第二步:准备好你的U盘插到电脑上之后,打开 磁盘工具选项如图所示,然后格式化(抹掉...)U盘第三步:(最关键的一步)打开 终端 ,输入:sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Res
2015-06-25 16:03:32
3499
3
原创 Mac电脑下配置maven环境变量
Mac电脑下配置maven环境变量打开终端,使用 touch 命令创建 .bash_profile 文件touch .bash_profile编辑刚刚创建的文件 .bash_profilevim .bash_profile输入:M2_HOME=/Users/lizhimin/Documents/maven/apache-maven-3.3.3PATH=$M2_HOME/bin:$PA
2015-06-02 21:02:08
7891
原创 struts-所有(官方)版本下载
struts-所有(官方)版本下载官方下载地址:http://archive.apache.org/dist/struts/binaries/struts-1.2.6.zip(百度网盘地址)struts-1.2.7.zip(百度网盘地址)struts-1.2.8-bin.zip(百度网盘地址)struts-1.2.9-bin.zip(百度网盘地址)struts-1.3.10-all.zip
2015-05-28 16:31:16
2765
3
原创 iReport安装之后无法打开解决办法
iReport安装之后无法打开解决办法iReport的运行是依赖于JDK的,所以……我以Mac为例(Windows和Mac同理的):路径:/Applications/JaspersoftiReport/Designer.app/Contents/Resources/ireport/etc/ireport.conf下的ireport.conf文件原本: jdkhome= 这一行是注释的,然后
2015-05-28 14:24:06
17330
原创 苹果官方鼠标移动速度慢问题解决(Magic Mouse)
苹果官方鼠标移动速度慢问题(Magic Mouse)如果这里的调节到最大还是满足不了你我们可以通过终端查看到我们鼠标的设置: defaults read -g com.apple.mouse.scaling默认可能是:3 , 我这里设置的:7设置方法:defaults write -g com.apple.mouse.scaling 7重启电脑生效@三分之二
2015-05-20 10:20:05
71543
9
原创 Mac电脑管理Android手机(传输文件)
Mac电脑管理Android手机(传输文件)Mac管理Android设备,需通过一个官网软件操作—-“Android文件传输”应用Android File Transfer 官网:http://www.android.com/filetransfer/如果官方链接打不开,dmg文件已上传百度网盘:“androidfiletransfer.dmg” http://pan.baidu.com/s/
2015-05-08 16:13:56
35775
1
原创 Java项目:Eclipse导出终端(命令行)可运行的jar文件
Java项目:Eclipse导出终端(命令行)可运行的jar文件项目右键,Export选择:Runnable JAR filePackage required libraries into generated JAR (项目所引用的jar包会在生成的jar文件中)Copy required libraries into a sub-folder next to the generated JA
2015-05-06 14:34:48
2615
2
原创 关于MacBook外接HDMI显示_声音输出问题
在公司,MacBook外接电脑显示器,声音输出。在家里MacBook外接电视机,声音输入。打开系统偏好设置…打开‘声音’ 选择‘输出’
2015-04-28 13:48:47
39497
2
原创 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾
启动Mybatis报: 对实体 “characterEncoding” 的引用必须以 ‘;’ 分隔符结尾“&”定义与解析的原因<property name="url" value="jdbc:mysql://192.168.10.150:3306/lizhimin?useUnicode=true&characterEncoding=utf-8"/>修改为:<property name="url
2015-04-27 17:47:43
37662
3
转载 Mac外接显示器设置(四种模式)
四个模式设置问题首选看看几个模式的优选顺序,无任何设置时,外接显示器即为扩展模式,如果勾选镜像模式的话,镜像模式的优先权最高(也就是说勾选镜像模式的话,很有可能不会进入合盖模式和扩展模式),在扩展模式下,进行设置拖移,则进入混合模式。1、合盖模式设置介绍就是只使用外接显示器显示,笔记本显示器不显示同时可以合上盖使用。显示性能上来看,这种显示模式是最大化利用显卡,显卡可以专注于外在显示器,所以显示
2015-04-27 15:53:26
49864
1
原创 MacBook 系统自带壁纸
MacBook 系统自带壁纸. . . . . . .百度网盘地址:http://pan.baidu.com/s/1eQvTfiy
2015-04-19 14:01:39
21259
原创 git - 生成 ssh key for Mac
终端:cd ~/.ssh// 生成SSH Key(你的邮箱):$ ssh-keygen -t rsa -C lizhimin@gmail.com// 回车后(输入密码):Generating public/private rsa key pair.Enter file in which to save the key (/Users/lizhimin/.ssh/id_rsa): Enter pa
2015-04-08 19:04:11
14695
原创 关于javaweb项目导入eclipse后变成普通java项目的解决办法
选中项目右键:properties –>Project Facets –> 然后你会看到Dynamice Web Module 这项没有选中 选中,然后选中java,选择你的java版本。其他: 如果修改完这些如果tomcat部署的时候不能添加此项目,有可能是你的tomcat版本不支持,更新下tomcat版本应该就可以了。
2015-04-07 18:16:25
1033
原创 java web项目启动时浏览器路径不用输入项目名称方法
java web项目启动时浏览器路径不用输入项目名称方法修改tomcat文件:server.xml找到自己的项目设置:<Context docBase="userManager" path="/userManage" reloadable="true" source="org.eclipse.jst.jee.server:userManager"/>修改成:<Context docBase="use
2015-04-07 18:05:22
6477
原创 Mac如何显示隐藏的文件
在终端下输入如下命令:defaults write com.apple.finder AppleShowAllFiles -bool true结果:
2015-04-06 16:33:36
584
3
原创 login页面按回车键(enter)登录功能
//回车键登录事件document.onkeydown = function(e){ var e = window.event ? window.event:e; if(e.keyCode == 13){ var btn=document.getElementById("loginBtn"); btn.onclick();}}
2014-12-15 18:16:06
2274
1
原创 关于火车票12306网站出现“此网站的安全证书存在问题”解决办法
首先下载官网证书: srca12306.zip (百度云链接)根据里面的:SRCA根证书安装说明手册.doc 安装就好
2014-12-15 14:52:31
1028
翻译 win8.1如何删除“设备和驱动器”里的无效项?
win7直接在开始,运行,输入regedit。win8系统的话,按win+r,输入regedit,然后依次打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\。在这个文件夹里面,可能存在几个name文件,你点击后,右边的窗口就会显示说是那个软件的,例如是“微云”的
2014-12-15 13:50:37
2386
ftpxp 上传工具
2014-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人