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

设计公司网站建设模板图江苏省建设斤网站

设计公司网站建设模板图,江苏省建设斤网站,网络运营者应当按照网络安全等级保护制度的要求,高级建站网站java设计模式大体分为23种设计模式#xff0c;直接通过例子学习设计模式#xff0c;更易于理解和思考其中的原理和作用#xff0c;以下给出 适配器模式 的第一种(一个有三种)的demo#xff0c;叫做类适配器模式#xff1a; MainRun.java类#xff0c;是程序运行入口… java设计模式大体分为23种设计模式直接通过例子学习设计模式更易于理解和思考其中的原理和作用以下给出 适配器模式 的第一种(一个有三种)的demo叫做类适配器模式 MainRun.java类是程序运行入口含有main方法。大伙认真的看main方法上面的注释喔是博主对此模式的总结和分析。(附 advantage是表示使用此模式的优势disadvantage是此模式的不足和缺点use scene是表示此模式的使用场景。) package cn.cat.design.mode.adaptor.clazz;public class MainRun {/**适配器模式(类适配器)使得原本两个不相干的或不协调的类进行协调工作。类适配模式:通过继承类来得到适配器。* * advantage: 使得不协调的类进行协调配合工作。* 通过继承的方式如果本身目标接口的方法在原实现类中有实现则可以减少这些接口方法的实现* 从而减少适配器模式的复杂性。* * disadvantage因为需要继承原类则导致适配器不能再继承其他任何的类并且要求目标只能是接口不能是抽象类。* * use scene需要适配的目标是个接口并且只需继承一个原类而不是需要多个原类来凑合在一个适配器中。* * param args*/public static void main(String[] args) {//美国籍客户Customer customerAme new Customer(tomcat,21,2,CustomerType.AMERICAN);System.out.println(customerAme : customerAme.isValidInfo());System.out.println(-------------------------------------------------------------);//中国籍客户Customer customerChi new Customer(中,21,2,CustomerType.CHINESE);System.out.println(customerChi : customerChi.isValidInfo());}}Customer.java package cn.cat.design.mode.adaptor.clazz;/**封装客户信息** author Cat(gwj)* date 2015-9-3* time 下午4:56:40*/ public class Customer{/**姓名* */private String name;/**年龄* */private int age;/**vip等级* */private Integer vipGrade;/*** 客户类型s*/private CustomerType type;public Customer(String name, int age, Integer vipGrade, CustomerType type) {super();this.name name;this.age age;this.vipGrade vipGrade;this.type type;}public CustomerType getType() {return type;}public void setType(CustomerType type) {this.type type;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}public Integer getVipGrade() {return vipGrade;}public void setVipGrade(Integer vipGrade) {this.vipGrade vipGrade;}public boolean isValidInfo () {Validator validtor getValidatorByType();return validtor.isValidData(name, age, vipGrade);}public Validator getValidatorByType () {Validator validator null;switch (type) {case AMERICAN:validator new AmericanValidator();break;case CHINESE://因为已经存在旧的校验类通过适配器来使旧的校验类适配Validatorvalidator new ChineseValidatorAdaptor(); break;case JAPANESE:throw new UnsupportedOperationException();default:throw new RuntimeException(未知的客户类型);}return validator;}}CustomerType.java package cn.cat.design.mode.adaptor.clazz;/**客户类型** author Cat(gwj)* date 2015-9-6* time 下午6:10:56*/ public enum CustomerType {/*** 美国人*/AMERICAN,/*** 中国人*/CHINESE,/**日本人* */JAPANESE; }Validator.java package cn.cat.design.mode.adaptor.clazz;/**客户信息校验器接口** author Cat(gwj)* date 2015-9-6* time 下午6:06:08*/ public interface Validator {/**是否有效数据。* param name 姓名* param age 年龄* param vipGrade 会员等级* return*/public boolean isValidData (String name , int age , Integer vipGrade); }AmericanValidator.java package cn.cat.design.mode.adaptor.clazz;/**美国籍信息校验** author Cat(gwj)* date 2015-9-6* time 下午6:18:40*/ public class AmericanValidator implements Validator {Overridepublic boolean isValidData(String name, int age, Integer vipGrade) {if (name null || name.length() 6) {System.out.println(name 不符合规范);return false;}if ( 0 age || age 100) {System.out.println(age 不符合规范);return false;}if (vipGrade null || vipGrade 1 || vipGrade 5) {System.out.println(vipGrade 不符合规范);return false;}return true;}}ChineseValidatorAdaptor.java package cn.cat.design.mode.adaptor.clazz;public class ChineseValidatorAdaptor extends ChineseInfoJudge implements Validator{Overridepublic boolean isValidData(String name, int age, Integer vipGrade) {//直接调用原始校验方法return isJudgePassed(name, age, vipGrade, false);}}ChineseInfoJudge.java package cn.cat.design.mode.adaptor.clazz;/**中国籍信息校验。* 假设此类是项目很早之前就已经存在的校验类Validator接口是在项目后期在开始引入故此类并没有实现Validator接口。** author Cat(gwj)* date 2015-9-6* time 下午6:23:20*/ public class ChineseInfoJudge {/**是否校验通过* param name 姓名* param age 年龄* param vipGrade vip会员等级* param isJudgeEmptyProperty 是否运行属性为空* return*/public boolean isJudgePassed(String name, int age, Integer vipGrade , boolean isAllowEmptyProperty) {if (!isAllowEmptyProperty (name null || vipGrade null )) {System.out.println(name or vipGrade 为空);return false;}if (name ! null (name.length() 2 || name.length() 5)) {System.out.println(name 不符合规范);return false;}if ( 10 age || age 120) {System.out.println(age 不符合规范);return false;}if (vipGrade ! null ( vipGrade 1 || vipGrade 6)) {System.out.println(vipGrade 不符合规范);return false;}return true;}}------------------------------------------------------------demo end-------------------------------------------------------------- 转载于:https://www.cnblogs.com/catgwj/p/7604867.html
http://www.zqtcl.cn/news/596935/

相关文章:

  • 南通营销网站开发软件开发工具名词解释
  • 吉林企业网站模板建站哪个好wordpress后台新建慢
  • 整合营销的成功案例肇庆seo优化
  • 网站关键字标签合肥高端网站建设设计公司哪家好
  • 大型企业网站设计案例免费在线看片
  • 云南网站开发公司找哪家网站弹出式链接后台怎么做
  • 电商网站的支付模块怎么做企业网站建设招标文件
  • 旅游在线网站开发十八个免费的舆情网站
  • 网站怎么申请百度小程序火车头采集发布wordpress
  • 外贸网站的推广技巧有哪些莱芜网吧
  • 溧阳城乡建设局网站ps中网站页面做多大的
  • sns社交网站 有哪些wordpress开发分类筛选
  • 黄石网站建设教程网上怎样查询企业资质
  • 国内设计师交流网站怎样做自己的网站钻钱
  • 无锡专业网站推广网络营销组合策略
  • 网站建设的安全威胁中国建设银行的网站色彩
  • 中小型企业网站建设与管理潍坊做网站哪家公司最好
  • 广州白云机场网站建设免费的网站模版
  • 商务网站建设策划书51网站怎么打开
  • 一个网站里面只放一个图片怎么做中国十大网络公司排名
  • 仓库网站开发怎么看一个网站做外链
  • 网站代码编辑器中国十大黑科技
  • 深圳网站建设一尘互联遵义网站开发哪家好
  • 室内设计师灵感网站汕头网站制作全过程
  • 网站改版是什么意思自己做的小网站分享
  • 秦皇岛公司做网站wordpress社交分享非插件
  • 做物流的都是上什么网站网络维护工程师工资多少
  • 莱芜市网站建设设计设计师互联网
  • 中国设计网网址山东seo网络营销推广
  • 常德市做公司网站的公司网站连接如何做二维码