随笔分类 - 设计模式
摘要:策略模式也是我们经常使用的模式,它的定义如下:将可变的部分从程序中抽象分离出来成为算法接口,在该部分下分别封装一系列算法实现并使它们可以相互替换。 举个例子,我们现在有三种支付方式:支付宝支付,微信支付,银行App支付。假设我们要做一个软件,每个软件都有各自对应的支付方式,在这种情况下,我们就可以把
阅读全文
摘要:所谓适配器模式,其实很简单,就是将一个类的接口转换成客户端所期待的另一个接口,使得原本不兼容的两个类可以一起工作。 假设我们有一个Type-c接口,但是要使用的接口确实usb的接口,这时候要怎么办呢?解决方法就是用一个适配器将Type-c类转换成usb类,这样我们就能使用这个Type-c接口了。 实
阅读全文
摘要:所谓单例模式,就是整个应用中会让某个实例只有一个。 单例模式有饿汉模式和懒汉模式两种,懒汉模式加载类时比较快,因为加载类的时候不会使用构造器,而饿汉模式加载类时就会直接使用构造器获取一个对象。但是这样运行时获取对象的速度饿汉模式就会更快些,因为他已经加载好了,直接获取即可。 输出如下: 这是饿汉模式
阅读全文
摘要:除了一般的工厂模式之外,还有抽象工厂模式,抽象工厂模式更强调产品族的概念,一个具体工厂生产出来的系列商品都是一个产品族的。 假设我们有两个具体工厂,分别是袋装水果工厂和罐装水果工厂,它们都能生产苹果和香蕉,这样生产出来的水果就会有四种,其中罐装工厂生产出的罐装水果和香蕉都属于一个产品族。要完成我们所
阅读全文
摘要:除了上文提到的方法之外,还可以使用Java的反射机制,这样就能使用类名称来加载所需要的类。我们只需改变工厂类和驱动类就可以了。 FruitFactory.java 使用动态加载的方法,就可以直接用类名称来创建对象了。 TestDrive.java
阅读全文
摘要:Java的工厂模式在框架中是用的到很多的,所谓的工厂模式,其实也就是用一个接口来创建对象,把实例化的工作推迟到子类去实现。这样在主函数中就可以直接创建一个工厂类,再通过这个工厂类实现操作。 假设有一个水果工厂,工厂可以生产香蕉,生产苹果,就可以写成如下代码: FruitInterface.java
阅读全文

浙公网安备 33010602011771号