Spring设计模式_策略模式/其他
程序员文章站
2024-02-02 09:12:58
策略模式特性 1.执行最终结果一样 2.执行过程和执行逻辑不一样 3.使用同一接口 达到目的就可以了 Git地址 https://github.com/wujiachengSH/WjcStrategy 策略模式比较简单,直接看代码 1.首先来个接口 2.随便来2个实现类 3.来个封装 4.测试一下 ......
策略模式特性
1.执行最终结果一样
2.执行过程和执行逻辑不一样
3.使用同一接口
达到目的就可以了
git地址
https://github.com/wujiachengsh/wjcstrategy
策略模式比较简单,直接看代码
1.首先来个接口
1 package com.wjc.strategy; 2 3 import java.util.date; 4 5 public interface dateutil { 6 7 string getdate(date date); 8 9 }
2.随便来2个实现类
1 package com.wjc.strategy; 2 3 import java.text.simpledateformat; 4 import java.util.date; 5 6 public class ymdutil implements dateutil { 7 8 @override 9 public string getdate(date date) { 10 simpledateformat sdfd =new simpledateformat("yyy-mm-dd"); 11 return sdfd.format(date); 12 } 13 14 }
1 package com.wjc.strategy; 2 3 import java.text.simpledateformat; 4 import java.util.date; 5 6 public class ymutil implements dateutil { 7 8 @override 9 public string getdate(date date) { 10 simpledateformat sdfd =new simpledateformat("yyy-mm"); 11 return sdfd.format(date); 12 } 13 14 15 }
3.来个封装
1 package com.wjc.strategy; 2 3 import java.util.date; 4 5 public class datechange { 6 7 private dateutil dateutil; 8 9 public datechange(dateutil dateutil) { 10 this.dateutil = dateutil; 11 } 12 13 public string getdate(date date) { 14 return dateutil.getdate(date); 15 } 16 17 }
4.测试一下
1 package com.wjc.strategy; 2 3 import java.util.date; 4 5 public class test { 6 7 public static void main(string[] args) { 8 9 date date = new date(); 10 date.gettime(); 11 12 datechange datechange = new datechange(new ymdutil()); 13 system.out.println("ymd : " + datechange.getdate(date)); 14 15 datechange datechange2 = new datechange(new ymutil()); 16 system.out.println("ym : " + datechange2.getdate(date)); 17 } 18 19 }
spring里只要的还有单例,委派,原型和模版模式,鉴于 发现菜鸟教程中相关说明非常完善,觉得暂停设计模式章节,开始源码分析
http://www.runoob.com/design-pattern/template-pattern.html 菜鸟地址,唉,大佬就是大佬,总结的比我好,比我完善的多
单例模式特性
1.保证系统从启动到终止,只会产生一个实例
2.当我们在应用中遇到功能性冲突的时候,需要使用单例模式
委派模式
1.两个参与角色:委托人和被委托人
2.委托人和被委托人在权利上是完全平等的(同一接口)
3.委托人持有被委托人的引用
4.不关心过程,只关心结果
干活是你的(普通员工),功劳是我的(项目经理)
原型模式
1.首先有一个原型
2.数据内容相同,但对象实例不同(完全不同的内存地址)
模版模式
1.执行流程固定,但中间步骤有细微差别
2.可实现批量生产
上一篇: oo第一单元作业总结