常见的设计模式

https://www.runoob.com/design-pattern/design-pattern-tutorial.html

设计模式:
1.简单工厂模式:(静态方法) 2048小游戏,计算器

2.装饰者模式:Thread thread=new Thread(()->System.out.println());

3.代理模式: 把real类当作proxy类的属性,进一步封装,两个类都初始化,实际调用real类的方法。

4.工厂方法模式:(非静态方法) 2048小游戏,计算器

5.单例模式:
静态初始化: A类中new一个A对象修饰为静态(然后一直使用这个静态对象),空构造方法标记为私有,让他无法初始化。
①第一次被引用时,实例化,懒汉式单例
②直接用静态标记,加载的时候就实例化

线程安全问题:
①通过静态标记解决
②通过加锁解决

6.建造者模式: 从一个菜单开始进行展开,和展开后的向上抽象。
菜单->何种菜单,假设A菜单->菜单中有 牛肉和大白菜->肉类 青菜类->继续抽象到 抽象类或接口层。。

7.观察者模式:实体类配置关系的过程(多个观察者对应一个主体)
Subject subject = new Subject();

  new HexaObserver(subject);
  new OctalObserver(subject);
  new BinaryObserver(subject);

//在初始化Observer的同时,把Observer attach到subject中,双向注册
public HexaObserver(Subject subject){
    this.subject = subject;
   this.subject.attach(this);
 }

在subject调用了changestatus时,遍历所有Observers,调用其update方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值