当前位置: 首页 > news >正文

网站建设课程基础太原seo招聘

网站建设课程基础,太原seo招聘,湖南做网站最厉害的公司,开源网站统计1 装饰器模式介绍 在软件设计中,装饰器模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态的增加职责,使用对象之间的关联关系取代类之间的继承关系. 2 装饰器模式原理 //抽象构件类 public abstract class Component{public abstract void operation(); }…

1 装饰器模式介绍

在这里插入图片描述
在软件设计中,装饰器模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态的增加职责,使用对象之间的关联关系取代类之间的继承关系.

2 装饰器模式原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//抽象构件类
public abstract class Component{public abstract void operation();
}
//具体构建类
public class ConcreteComponent extends Component {@Overridepublic void operation() {//基础功能实现(复杂功能通过装饰类进行扩展)}
}
/*** 抽象装饰类-装饰者模式的核心**/
public class Decorator extends Component{//维持一个对抽象构件对象的引用private Component component;//通过构造注入一个抽象构件类型的对象public Decorator(Component component) {this.component = component;}public void operation() {//调用原有的业务方法,并没有真正的进行装饰,而是提供了一个统一的接口,将装饰的过程交给子类完成component.operation();}
}
/*** 具体装饰类**/
public class ConcreteDecorator extends Decorator {public ConcreteDecorator(Component component) {super(component);}@Overridepublic void operation() {super.operation(); //调用原有的业务方法add(); //调用新增的方法}//新增业务方法public void add(){//......}
}
3 装饰器模式应用实例

在这里插入图片描述
在这里插入图片描述
导入IO工具类

<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version>
</dependency>
/*** 抽象的文件读取接口**/
public interface DataLoader {String read();void write(String data);
}
import org.apache.commons.io.FileUtils;import java.io.File;
import java.io.IOException;/*** 具体组件: 抽象文件读取接口的实现类**/
public class BaseFileDataLoader implements DataLoader{private String filePath;public BaseFileDataLoader(String filePath) {this.filePath = filePath;}//读public String read() {try {String result = FileUtils.readFileToString(new File(filePath), "utf-8");return result;} catch (IOException e) {e.printStackTrace();}return null;}//写public void write(String data) {try {FileUtils.writeStringToFile(new File(filePath),data,"utf-8");} catch (IOException e) {e.printStackTrace();}}
}
/*** 抽象装饰者类**/
public class DataLoaderDecorator  implements DataLoader{private DataLoader dataLoader;public DataLoaderDecorator(DataLoader dataLoader) {this.dataLoader = dataLoader;}public String read() {return dataLoader.read();}public void write(String data) {dataLoader.write(data);}
}
import java.io.UnsupportedEncodingException;
import java.util.Base64;/*** 具体装饰者类-对文件内容进行加密和解密**/
public class EncryptionDataDecorator extends DataLoaderDecorator {public EncryptionDataDecorator(DataLoader dataLoader) {super(dataLoader);}@Overridepublic String read() {return decode(super.read());}@Overridepublic void write(String data) {super.write(encode(data));}//加密操作public String encode(String data){try {Base64.Encoder encoder = Base64.getEncoder();byte[] bytes = data.getBytes("utf-8");String result = encoder.encodeToString(bytes);return result;} catch (Exception e) {e.printStackTrace();}return null;}//解密操作public String decode(String data){try {Base64.Decoder decode = Base64.getDecoder();String result = new String(decode.decode(data),"utf-8");return result;} catch (Exception e) {e.printStackTrace();}return null;}
}
4测试
public class TestDecorator {public static void main(String[] args) {String info = "name:tom,age:15";DataLoaderDecorator decorator = newEncryptionDataDecorator(new BaseFileDataLoader("demo.txt"));decorator.write(info);String data = decorator.read();System.out.println(data);}
}
5装饰器模式总结

在这里插入图片描述
在这里插入图片描述

http://www.hengruixuexiao.com/news/6388.html

相关文章:

  • 郑州网站推广价格信息东莞网络营销渠道
  • 一个旅游网站怎么做seo赚钱吗
  • 只用jsp做网站苏州seo建站
  • wordpress改链接seo入门基础教程
  • 专业设计网站的公司电商怎么做如何从零开始
  • 网站设计服务有哪些市场推广是做什么的
  • 众创空间文化建设网站万网域名管理平台
  • 怎么把网站排名百度关键词搜索技巧
  • 教学网站开发应用指导方案怎样做网站推广啊
  • 网站备案协议网络口碑营销名词解释
  • 网站建设开发语言国外搜索引擎优化
  • wordpress小说网站模板今日新闻热点10条
  • 做淘宝客网站需要什么要求吗seo网站推广实例
  • 示范专业网站建设大搜推广
  • 携程旅行网seo站长工具平台
  • 阿里云做网站需要环境爱站站长工具
  • 兰州网站建设公司哪家好360站长工具seo
  • 高埗镇网站仿做关键词优化简易
  • 上海网站的优化公司长尾词在线挖掘
  • 帮我注册一个账号保定seo排名外包
  • 做任务赚佣金网站有哪些苏州网络公司
  • diy网站建设源码b站暴躁姐
  • 网站建设与管理课程代码软文范文200字
  • 西安制作网站软件网络推广员岗位职责
  • 互联网开网站怎么做东莞百度seo
  • wordpress 网站描述seo 怎么做到百度首页
  • 北京网站设计公司兴田德润优惠吗搜狗seo
  • 设计师浏览网站重庆seo排名电话
  • 钢材原材料东莞网站建设网站优化排名首页
  • 杭州科技学校网站建设合肥seo服务商