几种设计模式与其解决的开发问题

本文介绍了Java设计模式中的单例、工厂和包装模式,阐述了它们解决的开发问题。单例模式用于全局频繁使用的类,避免频繁创建与销毁,提高性能。工厂模式提供了一个创建对象的最佳方式,简化了类的创建过程,但在增加新产品时会增加系统复杂度。包装模式则允许在不修改源码的情况下增强功能,类似于代理模式的应用。
摘要由CSDN通过智能技术生成

引言

在学习Java基础的一些知识的时候,会逐渐接触、感受到开发方面的问题:

诸如内存空间的控制,时间效率的把控,安全性,方便性等等

设计模式的概念:

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

(一) 单例模式

我们不妨想象一个问题:

假设有这样一个类,我们在全局会频繁的调用它,那么我们便会在使用的时候去创建一个新的对象使用,之后再自动销毁。。。

那么这就会导致空间和时间两方面的低效。

单例模式解决的便是一个全局使用的类频繁地创建与销毁

代码实现:

public class Tool {
   

    private static Tool tool = new Tool();

    private Tool(){
   }

    public static Tool getInstance() {
   
        return tool;
    }
}
  1. 定义一个静态属性,类加载时便初始化
  2. 将构造方法定义为私有,这样无法创建新对象
  3. 定义一个获取实例的公有方法,每次调用都获取的是同一个实例

大大节省了时间和空间

此设计模式有几种实现方式,解决的是在多线程工作下不能保持高性能的问题

(二) 工厂模式

很多时候,书写代码会创建一个有一个的类。当全局的其它地方需要调用此类的时候,便要书写创建对象的语句。

但仔细想想,正因为是我们自己书写的代码,所以我们才清楚此句的用途。若是去使用别人的代码,这么做是不是有点“私闯民宅”的意思了呢。

其实也就是为了表达这样一种思想:

就好比我们去提一辆车,我们只会关心提出来的车,而不会关心它是如何从工厂中加工出来的。

工厂模式便是若想创建一个对象,只要知道其名称就可以了

汽车工厂示例:

public interface Car {
   

    void get() ;
}
public class Lexus implements Car{
   
    @Override
    public void get() {
   
        System.out.println("你获得了一辆雷克萨斯");
    }
}
public class Benz implements Car{
   
    @Override
    public void 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值