摘要:工厂模式实例定义一个接口定义一个实现类定义一个实现类根据不同需求返回不同实现类的方法运行结果单利模式实例懒汉式饿汉式
工厂模式实例
//定义一个接口: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
摘要:写在前面一些关于自己在代码设计思维方面的学习记录面向对象的一些理解实例代码就不上了就写一些总结封装提供属性和方法的权限管理只对外暴露接口具体的功能在内部实现继承子类继承父类的方法和属性可以抽离公共代码减少代码冗余多态同一个接口在子类中的不同 写在前面: 一些关于自己在代码设计思维方面的学习记录 面向对象的一些理解 实例代码就不上了, 就写一些总结 封装: 提供属性和方法的权限管理, ...
摘要:注意事项声明函数时候处理业务逻辑区分和单例的区别,配合单例实现初始化构造函数大写字母开头推荐注意的成本。简单工厂模式使用一个类通常为单体来生成实例。 @(书籍阅读)[JavaScript, 设计模式] 常见设计模式 一直对设计模式不太懂,花了一下午加一晚上的时间,好好的看了看各种设计模式,并总结了一下。 设计模式简介 设计模式概念解读 设计模式的发展与在JavaScript中的应用 ...
摘要:满足此要求的简单模式是在创建新实例时将资源传递给构造函数。依赖注入同样适用于构造函数静态工厂第项和构建器第项。将资源工厂传递给构造函数就会变成一个有用的模式。这种做法称为依赖注入,将极大地增强类的灵活性,可重用性和可测试性。 许多类依赖于一个或多个底层资源。 例如,拼写检查器依赖于字典。常见的做法是将这些类实现为静态实用程序类(第4项): // Inappropriate use ...
阅读 2905·2021-11-15 18:02
阅读 3799·2021-10-14 09:43
阅读 3731·2021-09-08 10:41
阅读 2518·2019-08-30 15:53
阅读 1801·2019-08-30 14:14
阅读 1942·2019-08-29 16:12
阅读 3137·2019-08-29 14:03
阅读 1278·2019-08-29 13:46