Java中常用到的部分设计模式
来源:互联网 发布:阿里云 和 aws 对比 编辑:程序博客网 时间:2024/05/16 15:55
Java中常用到的部分设计模式
下面我提到的很多模式我们在大神写的代码中经常遇到,或者自己在写代码时也会用,但很多时候对于初级程序员而言不知道或者不清楚,闲来无事,觉得有必要整理下,提醒自己日后代码要简洁、少冗余,也希望能帮助到更多像我这初入职场慢慢摸索的初级程序员,对你有帮助请点赞评论,有错误或者理解不到位的地方希望私信不要踩,妹子比较情绪化,给个面子,哈哈~~~:
学如逆水行舟,不进则退。 —【名人名言】
- 普通工厂模式
- 单例模式
创建型模式
1.普通工厂模式
工厂模式有普通工厂模式和抽象工厂模式,在这里我先写普通工厂模式,我们平时可能用的比较多。
本人是吃货,就拿吃举例子吧,我们吃中国菜和吃西餐,都要进行吃这个动作,所以我们把它定义成一个接口,多次实现即可。
定义吃的这个接口
public interface Eater{ public void Eat();}
定义两个实现类
1)吃中国菜的实现类
public class ChinaFoodEat implements Eater{ public void Eat() { System.out.println("this is ChinaFoodEat!"); }}
2)吃西餐的实现类
public class WesternFoodEat implements Eater{ public void Eat() { System.out.println("this is WesternFoodEat!"); }}
写一个公共方法
public class EatFactory { public static Sender ChinaFood() { return new ChinaFoodEat(); } public static Sender WesternFood() { return new WesternFoodEat (); }}
定义测试类
public class FactoryMethod { public static void main(String[] args) { Eater eater = EatFactory.ChinaFood(); eater.Eat(); } }
结果是:this is ChinaFoodEat!
工厂模式的特点就是可以多扩展,有需要创建工厂类即可,一般我们写静态方法,直接用类调用静态方法,省去创建对象的步骤,比较方便。
2.单例模式
单例模式保证在JVM中只有一个实例存在,它的好处显而易见:
1)只能创建一个实例,减轻了gc的回收机制的压力。
2)不用类经常频繁的创建实例,节省开销。
单例模式有懒汉式饿汉式,现附上代码,再一一解释:
饿汉式
public class HungrySingleton { private static HungrySingleton hSingleton = new HungrySingleton(); private HungrySingleton() {} public static HungrySingleton gethSingleton() { return hSingleton; } public static void sethSingleton(HungrySingleton hSingleton) { HungrySingleton.hSingleton = hSingleton; }}
上面的代码是饿汉式单例模式,何谓饿汉式,即在类加载时就创建对象实例,饿了嘛,不管用不用,先把这个对象给我创建出来,这样做无需判断,节省时间。当HungrySingleton类加载时,无参构造方法就创建了对象,将这个对象给予了静态属性hSingleton。
懒汉式
public class LazySingleton { private static LazySingleton laSingleton = null; private LazySingleton() {} public static LazySingleton getLaSingleton() { if (laSingleton==null) { laSingleton = new LazySingleton(); } return laSingleton; }}
上面的代码是懒汉式单例模式,与上面饿汉式代码相比,显而易见是等到需要时判断后才创建实例。这种比较适合多线程,是线程安全的。
- Java中常用到的部分设计模式
- java中常用到得设计模式有哪几种?
- C#项目中常用到的设计模式
- Android 开发中常用到的设计模式
- Android开发中常用到的设计模式
- java中常用到得设计模式共有23种
- java中常用到的语句
- Java面试中常遇到的设计模式
- 网页设计中常用到的一些技巧
- 网页设计中常用到的小技巧
- 网页设计中常用到的Photoshop技巧
- Java中常用到的转义字符
- java中常用到的一些小知识
- Java中常用到的算法题
- 工作中常用到的Java反射
- java开发中常用到的快捷键
- 用到的设计模式
- 【日本软件外包】设计书中常用到的文型
- Laravel框架下使用Hashid对id进行加解密
- 一些有用的网络工具
- 【Maven+SSM】补充:写一个返回json的请求
- Reactjs+BootStrap开发自制编程语言Monkey的编译器:发刊词
- Restful 学习笔记
- Java中常用到的部分设计模式
- 5.Python的基本数据类型(上)
- SpringBoot报错(七)日常报错jar包冲突
- 2017-11-7java(3-4年)面试中遇到的面试题
- python之实战----朴素贝叶斯之手写数字位图
- 异步FIFO设计(非常详细,图文并茂,值得一看!)
- C语言指针概念及基本使用
- HDOJ 1390 Binary Numbers(水题)
- Android studio3.0 的几种依赖方式笔记