列举一下常用的设计模式
1. 单例模式
什么叫单例,这个就是字面意思,独个实例、唯一的实例。这个就是你写的这个类去获取实例队形时,都是拿到的一个,这个类就只能new 出一个对象。说一个实现方式。
public class SingletonPattern{
private static final SingletonPattern singletonPattern = new SingletonPattern();
private SingletonPattern(){
}
public syschronized static SingletonPattern getInstance(){
return singletonPattern;
}
}
2 .代理模式
就是你需要什么东西,需要找到A去拿,但是你找不到A,B有是A的代理,这时你可以找B,然后B把你的请求告诉A ,让A去处理, 然后你就拿到了相应的结果。
B可以理解为现实生活中的’中介‘。大家应该都租过房子,你要去租房子,这个房子都在房东手里,你有不知道房东在哪里,这时候你就去找中介了,告诉他我要租房,中介就会带你去就看房子了。
还可以理解无程序的接口(interface)类就像是B, 实现(implements)类就是A,你要掉A中的某个方法,你直接在B中那对应的方法就可以一样。
这里不写例子了,接口B,A实现类,调B.function就可以让A干活了。
3.策略模式
说道策略模式,我这里就举个小张(徒弟)下山的例子,一些在山上修行的弟子需要下山去历练,下山时师傅都会赠送一些物品,比如赠送红黄蓝锦囊(策略),红的是危险时打开,黄的是需帮助时打开,蓝的是需要情报时打开,这时候小张下山了。
小张下山后遇到一群人也在讨论在某地发现一套绝世神兵,他也很心动,然后就打开了蓝色锦囊(使用策略),比如说得到了需要的东西,他决定前往,这时候发现自己势单力薄,决定使用黄色锦囊(又使用策略),找到了足够的人手,他们就一起去寻找神兵,找到了神兵,发现好多人,然后就打起来了,最后神兵落到了小张手中,自己的帮手都挂了,还被一群人追杀,最后被迫无奈开启红色锦囊(再次使用策略),最后化险为夷得到了绝世神兵,然后带着神兵回到了山上。
在代码中体现就是在某个时候需要什么方法,另一个时候需要什么方法,这就是策略模式。再给大家举一个我使用场景。在公司发工资的时候需要交个税,5000以下怎么算方法A,超过500的怎么算方法B,有房贷的怎么算方法C,有租房的怎么算方法D等一系列的方法,在实际中根据某个具体情况调有对用的方法。
4.工厂方法模式
有时间在更新。。。。。