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

南宁网站建设电话wordpress主题 academy 模版免费下载

南宁网站建设电话,wordpress主题 academy 模版免费下载,龙门城乡规划建设局网站,深圳门窗在哪里网站做推广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工具类 dependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.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.zqtcl.cn/news/60157/

相关文章:

  • 做兼职编辑的网站湖南涟钢建设有限公司网站
  • 重庆市工程建设招投标交易中心网站网站广告销售怎们做
  • 重庆快建网站德惠网站建设
  • 做药物分析必须知道的网站域名购买网站有哪些问题
  • 做站群的网站要备案吗半岛建设公司网站
  • 山西公司网站开发2018年网站建设
  • 购物平台排行榜2021南京网站seo找行者seo
  • 公司网站开发需要多少钱有深度的公司名字
  • 自建站跨境电商网站建设怎么让百度搜索到
  • php网站开发怎么接私活网站源码超市 下载
  • 坪山企业网站建设网站维护需要学什么
  • 重庆专业网站建设首页排名聊城找个人做网站
  • 威海做网站的公司有哪些vpswindows野外大全
  • 搜索引擎网站排名深圳婚纱摄影网站建设
  • 那个相亲网站做的比较好平面设计师如何做网站
  • 网站开发和前端是一样吗wordpress顺序
  • 无锡网站建设详细内容最近2018中文字幕免费看2019
  • 迪虎科技网站建设最有名的免费建站平台排行榜
  • 陕西网站建设厦门网站制作网站建设中系统实现
  • 西宁市营销网站建设公司怎么注册公司域名
  • 部署一个网站要做哪些工作平台页面设计
  • 福田网站建设团队青岛网站建设康之迅
  • 那里做网站比较好商丘网站建设制作
  • 怎么把做的网页放入网站宜昌市高新区建设局网站
  • jsp做的网站答辩问题网站怎么做不违法吗
  • 新浪博客怎样上传wordpresswap网站seo
  • iis html网站软件开发文档写作
  • 网站如何不需要备案网站做动态图片
  • 网站制作学校要的怎么做网站报告
  • 湖北省建设厅信息网站福州优化网站建设