![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Mr.LimLee
Mr.LimLee
展开
-
Java23种设计模式之结构型模式「桥接模式」
桥接模式 - Bridge用于把抽象化与实现化解耦,使得二者可以独立变化通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响意图: 将抽象部分与实现部分分离,使它们都可以独立的变化主要解决: 在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活优点: 1、抽象和实现的分离。 2、优秀的扩展能力。 3、实现细节对客户透明缺点: 桥接模式的引入会增加系统的理解与设计难度,由于原创 2020-08-04 10:27:37 · 188 阅读 · 0 评论 -
Java23种设计模式之结构型模式「外观模式」
外观模式 - Facade Pattern隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用意图: 为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用优点: 1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性缺点: 不符合开闭原则,如果要改东西很麻烦,继承重写都不合适定义两个业务方法public class MethodA {原创 2020-08-04 09:15:25 · 180 阅读 · 0 评论 -
Java23种设计模式之结构型模式「代理模式」
代理模式 - Proxy Pattern在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。意图: 为其他对象提供一种代理以控制对这个对象的访问。目前有一个现有的业务逻辑 并 有实现逻辑public interface Product { void createProduct();}public class ProductLevel implements Prod原创 2020-07-29 17:24:44 · 175 阅读 · 0 评论 -
Java23种设计模式之结构型模式「装饰器模式」
装饰器模式 - Decorator Pattern装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。意图: 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。目前有一个现有的业务逻辑 并 有实现逻辑public interface ProductLevel原创 2020-07-29 16:37:41 · 140 阅读 · 0 评论 -
Java23种设计模式之结构型模式「适配器模式」
适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。目前有一个现有的业务逻辑public class Product { public String createProduct() {原创 2020-07-29 16:11:35 · 81 阅读 · 0 评论 -
Java23种设计模式之创建型模式「工厂方法模式」
工厂方法模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。创建业务逻辑接口public interface Product { void creatProduct();}实现业务逻辑接口public class HighProduct implements Product {原创 2020-07-29 09:42:21 · 82 阅读 · 0 评论 -
Java23种设计模式之创建型模式「抽象工厂模式」
抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。创建项目等级的接口public interface ProductLevel { void creatProduct();}实现项目等级的接口:高等级和低等级pu原创 2020-07-28 17:49:10 · 98 阅读 · 0 评论 -
Java23种设计模式之创建型模式「建造者模式」
建造者模式将一个复杂对象的构建与表示分离开来,使用多个简单的对象一步一步构建成一个复杂的对象,它提供了一种创建对象的最佳方式用于构建多样化的对象,替代对象的构建函数,更加自由化定义对象/** * 产品对象 * * @author Mr.lim */public class ProductInfo { // 产品名称 private String name; // 产品期限 private String term; // 开发团队 p原创 2020-07-28 17:03:06 · 85 阅读 · 0 评论 -
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 · 279 阅读 · 0 评论 -
Java23种设计模式之创建型模式「原型模式」
原型模式/** * 原型模式 * <p> * 浅复制(浅克隆):将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的 * 深复制(深克隆):不管是基本数据类型还是引用类型,都会重新创建。简单来说:就是深复制进行了完全彻底的复制 * <p> * 注: * 实现 Cloneable 接口,并覆盖其clone方法,并且声明为 public * 浅复制和深复制建议不要混合使用,一个类中某些引用使用的浅复制,某些引用使用了深复制 * 这是原创 2020-07-23 17:34:40 · 97 阅读 · 0 评论 -
Java23种设计模式之创建型模式「单例模式」
单例模式 之 holder 模式 (推荐)/** * 单例模式 之 holder 模式 * 带有 Holder 的方法, * 类级内部类,静态的成员内部类,该内部类的实例与外部类的实例没有绑定关系 * 只有在调用的时候才会被封装,从而实现了延迟加载,即懒汉式 * * holder方式的单例模式是最好的设计之一,也是目前用的比价广泛的设计之一 * * 优点: * 将懒加载和线程安全完美结合的一种方式(无锁) * * 缺点: * * 注: * final 修原创 2020-07-22 16:33:46 · 129 阅读 · 0 评论 -
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 · 2633 阅读 · 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 · 17197 阅读 · 4 评论 -
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 · 2570 阅读 · 2 评论 -
关于javaweb项目导入eclipse后变成普通java项目的解决办法
选中项目右键:properties –>Project Facets –> 然后你会看到Dynamice Web Module 这项没有选中 选中,然后选中java,选择你的java版本。其他: 如果修改完这些如果tomcat部署的时候不能添加此项目,有可能是你的tomcat版本不支持,更新下tomcat版本应该就可以了。原创 2015-04-07 18:16:25 · 1008 阅读 · 0 评论 -
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 · 6431 阅读 · 0 评论 -
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 · 2203 阅读 · 1 评论