原型模式

柔情只为你懂 2022-03-31 08:16 271阅读 0赞
  1. public class Phone implements Cloneable {
  2. private String toPhoneNumber; // 去电号码
  3. private String context; // 内容
  4. private String hello; // 称谓
  5. @Override
  6. public Phone clone() {
  7. try {
  8. return (Phone) super.clone();
  9. } catch (CloneNotSupportedException e) {
  10. e.printStackTrace();
  11. }
  12. return null;
  13. }
  14. public Phone(Man man) {
  15. this.context = man.getContext();
  16. this.hello = man.getHello();
  17. }
  18. geter/setter
  19. }
  20. public class Man {
  21. private String hello = "先生您好,";
  22. private String context = "需要剃须刀吗?";
  23. geter
  24. }
  25. public class Prototype {
  26. public static void main(String... args) {
  27. int i = 0;
  28. Phone phone = new Phone(new Man());
  29. while (i <= 5) {
  30. Phone clone = phone.clone();
  31. phone.setToPhoneNumber(getRandString(11));
  32. call(clone);
  33. i++;
  34. }
  35. }
  36. private static String getRandString(int maxLength) {
  37. String source = "0123456789";
  38. StringBuffer sb = new StringBuffer();
  39. Random rand = new Random();
  40. for (int i = 0; i < maxLength; i++) {
  41. sb.append(source.charAt(rand.nextInt(source.length())));
  42. }
  43. return sb.toString();
  44. }
  45. private static void call(Phone phone) {
  46. System.out.println("给" + phone.getToPhoneNumber() + "打电话:" + phone.getHello() + phone.getContext());
  47. }
  48. }

很简单的原型模式

原型模式的优点
  • 性能优良
  • 逃避构造函数的约束
原型模式的使用场景

资源优化场景

类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等。

性能和安全要求的场景

通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。

一个对象多个修改者的场景

注意

使用clone方法,在类的成员变量上就不要增加final关键字


学习之余也不要忘了劳逸结合哦

喜欢天马行空的同学请关注公众号:

只为了博君一笑,没有别的用处

发表评论

表情:
评论列表 (有 0 条评论,271人围观)

还没有评论,来说两句吧...

相关阅读

    相关 原型模式

    一. 原型模式简介    原型模式(Prototype Pattern)也是一种创建型模式,它关注的是大量相似对象的创建问题。我们经常会遇到这样的情况:在系统中要创建大量的

    相关 原型模式

    对象浅拷贝 实现Clonable接口,重写clone方法,jvm的本地方法实现拷贝 Object protected native Object clone()

    相关 原型模式

    原型模式(Prototype Pattern):通过原型实例指定创建对象的种类,并且通过克隆这些原型来创建新的对象。原型模式是一种创建型模式   完成原型模式一般需要3个角

    相关 原型模式

    原型模式:用原型实例指定创建指定对象的种类,并且通过复制这些原型创建新的对象,同时又能保证性能。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价

    相关 原型模式

    原型模式 定义 在软件系统中,有时需要多次创建某一类型的对象,为了简化创建过程,可以只创建一个对象,然后通过对象克隆的方式复制出多个相同的对象,这就是原型设计模

    相关 原型模式

    型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了...