总结一下JAVA的设计模式

       马上要准备面试了,特总结了一下设计模式....

       感觉默认编辑器很low 用好一点的,我可以写一个图片上传FDFS....

       有些是略的....或者没来得及

1.桥接模式
   就是我们写一个接口,然后写一个抽象桥,里面要有接口的引用(私有的),和传入接口实现类set的方法
然后实现接口有的方法,用接口的引用调用方法
然后我们写该接口的n个实现类,然后new实现类,把对象(调用set方法)传进去,那么我们调用接口的方法,就是调用的传入的接口实现类的实现
        如果不set,空指针
        鄙人感觉没啥用,不如装饰者模式
2.外观模式
  整一个类把所有的可能无法用继承描述的装里面,调用方法
    如计算机={cup,GTX1080Ti,16GDDR4...}
          计算机开机() ={  cpu开机()  GTX1080Ti开机()....}
3.策略模式
  策略模式的决定权在用户,系统本身提供不同算法的实现,新增或者删除算法,对各种算法做封装。因此,策略模式多用在算法决策系统中,外部用户只需要决定用哪个算    法即可。
  我们可能在程序中更加直接:我们不实现,给你值和规则,你喜欢怎么做都可以.只要不异常
4.模版模式
    一个抽象类中,有一个主方法,再定义1..n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调    用.
   案例中是设置一个final A(int)方法 然后设置一个可重写的A(OBJ重载)的方法,然后final中调用抽象的方法(重写的子类实例化后重写掉的方法),
   这就是模版模式
      抽象类+继承关系
5.观察者模式
    这个模式的含义是,我在观察者子类操作一个方法,可以批量调用观察者的定义的容器中包含的被观察这的指定方法,这个方法名字不能改,但是实现是随心所欲的.
   首先我们需要一个接口
   public interface 被观察的人{
  通知();
   }
   n个实现.....
   public interface 观察者接口{
  add
  del
  集体通知
  我要做什么   
   }
   public abs 观察者的抽象实现 impl 观察者接口{
  有一个线程安全的集合
  add(Obj^被观察的人){添被加观察的人}
  del(obj^被观察的人){删除加观察的人}
  通知(){
  把所有在被观察的人接口的实现类的通知方法都调一遍
  }
  abs 我要做什么
   }
   一个类 继承 观察者的抽象实现 
 重写我要做什么(){
  我可以通知可以不通知
  我通知是调用每个被观察的人接口特定的实现方法
  }
6.迭代器模式(Iterator)
  这个模式来说
  A接口的方法中需要调用B接口方法的功能  
  一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。
7.命令模式 
  这个主要的意义就是解耦和
  命令是一个接口,
  public interface  命令{
 执行命令();
  }  
  我随便实现命令一下,使用构造方法传入一个士兵
  执行命令(士兵OBJ){   ------------->这里用那个接口和抽象类弄复杂一点更好
 士兵OBJ.sleep();
  }  
  我是领导
     使用构造方法传入一个实现好的命令  
     我使用一个方法(){
命令立刻执行
}
  这样的好处是:我命令随意传其实现类,因为我领导中定义的命令是接口  --->领导与命令解耦
               士兵如果也用接口定义比如说People 那么,也会完成解耦  
8.备忘录模式
  就是有3个类
  A 
  B 笔记本中的纸  
  C 笔记本
  
     A 中要有创建纸的方法,和读取纸中内容的方法
     B 中要有存储指定内容的变量还要有get/set方法
     C 相当于笔记本,要有存储笔记本纸的变量和对应变量的方法
 
       创建笔记本的过程中传入笔记本的页,
     if(A要恢复备份的值){
调用A中的读取纸中内容的方法(笔记本纸){
笔记本纸.getvalue
}    
}   
   
   
   
   
   
   
   

    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值