资讯专栏INFORMATION COLUMN

设计模式之工厂和单例

Nosee / 2704人阅读

摘要:工厂模式实例定义一个接口定义一个实现类定义一个实现类根据不同需求返回不同实现类的方法运行结果单利模式实例懒汉式饿汉式

工厂模式实例

//定义一个接口:Vehicle

 interface Vehicle{
 void work();
}

//定义一个实现类:Car

 class Car implements Vehicle{
   @Override
   public void work(){
      System.out.println("I am building a Car");
    }
}

//定义一个实现类:Train

 class Train implements Vehicle{
    @Override
    public void work(){
        System.out.println("I am building a train");
    }
}
 public class factory{
 //根据不同需求返回不同实现类的方法   
     public Vehicle needs(String s){
        if(s.equals("Car")){
          return new Car();
        }else if (s.equals("Train")) {
            return new Train();
        }
        return null;
     }

     public static void main (String args[]){
         factory f =  new factory();
         Vehicle v=f.needs("Car");
         v.work();
         Vehicle v1=f.needs("Train");
         v1.work();
     }
 }

运行结果 :
---I am building a Car
---I am building a train

单利模式实例

懒汉式

public class Singleton {  
    private static Singleton instance;  
    private Singleton (){}  
    public static synchronized Singleton getInstance() {  
    if (instance == null) {  
        instance = new Singleton();  
    }  
    return instance;  
    }  
} 

饿汉式

public class Singleton {  
private static Singleton instance = new Singleton();  
private Singleton (){}  
public static Singleton getInstance() {  
return instance;  
}  

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70107.html

相关文章

  • js设计模式:简单工厂单例

    摘要:写在前面一些关于自己在代码设计思维方面的学习记录面向对象的一些理解实例代码就不上了就写一些总结封装提供属性和方法的权限管理只对外暴露接口具体的功能在内部实现继承子类继承父类的方法和属性可以抽离公共代码减少代码冗余多态同一个接口在子类中的不同 写在前面: 一些关于自己在代码设计思维方面的学习记录 面向对象的一些理解 实例代码就不上了, 就写一些总结 封装: 提供属性和方法的权限管理, ...

    mochixuan 评论0 收藏0
  • 设计模式门面模式

    摘要:定义与类型定义又叫门面模式,提供了一个统一的接口,用来访问子系统中的一群接口外观模式定义了一个高层接口,让子系统更容易使用类型结构型类图门面模式是对系统复杂的关系处理做了一个封装,对外提供一个简单的接口,成员介绍子系统被门面模式封装的子系统 0x01.定义与类型 定义:又叫门面模式,提供了一个统一的接口,用来访问子系统中的一群接口 外观模式定义了一个高层接口,让子系统更容易使用 类型...

    Chiclaim 评论0 收藏0
  • 细谈JavaScript中的一些设计模式

    摘要:注意事项声明函数时候处理业务逻辑区分和单例的区别,配合单例实现初始化构造函数大写字母开头推荐注意的成本。简单工厂模式使用一个类通常为单体来生成实例。 @(书籍阅读)[JavaScript, 设计模式] 常见设计模式 一直对设计模式不太懂,花了一下午加一晚上的时间,好好的看了看各种设计模式,并总结了一下。 设计模式简介 设计模式概念解读 设计模式的发展与在JavaScript中的应用 ...

    30e8336b8229 评论0 收藏0
  • 设计模式享元模式

    摘要:类图相关的设计模式享元模式和代理模式当代理模式消耗性能比较大的时候,就可以用享元模式享元模式和单例模式容器单例,享元模式就是复用对象的思想。源码中的享元模式源码地址享元模式参考慕课网设计模式精讲设计模式读书笔记享元模式 0x01.定义与类型 定义:提供了减少对象数量从而改善应用所需的对象结构的方法,系统使用少量对象,而且这些都比较相似,状态变化小,可以实现对象的多次复用。 运用共享技...

    vvpale 评论0 收藏0
  • 第5项:固定资源首选使用依赖注入

    摘要:满足此要求的简单模式是在创建新实例时将资源传递给构造函数。依赖注入同样适用于构造函数静态工厂第项和构建器第项。将资源工厂传递给构造函数就会变成一个有用的模式。这种做法称为依赖注入,将极大地增强类的灵活性,可重用性和可测试性。   许多类依赖于一个或多个底层资源。 例如,拼写检查器依赖于字典。常见的做法是将这些类实现为静态实用程序类(第4项): // Inappropriate use ...

    KnewOne 评论0 收藏0

发表评论

0条评论

Nosee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<