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

主网站怎么做熊掌号优化企业平台网

主网站怎么做熊掌号优化,企业平台网,怎么做网站截图,网站排名怎样做有效文章目录 定义简单工厂模式案例 | 代码Phone顶层接口设计Meizu品牌类Xiaomi品牌类PhoneFactory工厂类Customer 消费者类 工厂方法模式案例 | 代码PhoneFactory工厂类 Java高级特性---工厂模式与反射的高阶玩法方案#xff1a;反射工厂模式 总结 其实工厂模式就是用一个代理类帮… 文章目录 定义简单工厂模式案例 | 代码Phone顶层接口设计Meizu品牌类Xiaomi品牌类PhoneFactory工厂类Customer 消费者类 工厂方法模式案例 | 代码PhoneFactory工厂类 Java高级特性---工厂模式与反射的高阶玩法方案反射工厂模式 总结 其实工厂模式就是用一个代理类帮你创建管理对象你就不用在代码层面去不断new对象的使用了。 创建对象和调用对象两者之间会解耦 定义 工厂模式有三种 简单工厂模式工厂方法模式抽象方法模式 简单工厂模式 简单工厂模式也叫静态工厂模式。 举个例子你要去买一台手机你不用关心手机是怎么生产出来的里面的零件具体又是怎么制造的这些通通都交给工厂去处理你尽管去买手机就好了。 案例 | 代码 Phone顶层接口设计 /*** author linghu* date 2024/7/5 11:08*/ public interface Phone {void getBrand(); }Meizu品牌类 /*** author linghu* date 2024/7/5 11:09*/ public class Meizu implements Phone{Overridepublic void getBrand() {System.out.println(魅族);} }Xiaomi品牌类 /*** author linghu* date 2024/7/5 12:35*/ public class Xiaomi implements Phone{Overridepublic void getBrand() {System.out.println(小米);} }PhoneFactory工厂类 这个是简单工厂模式又叫静态工厂所以方法自然是静态的而且这个工厂类负责帮我们创建对象并且返回对象 在这里我们可以先用硬编码的方式 /*** author linghu* date 2024/7/5 12:35*/ public class PhoneFactory {public static Phone getPhone(String phone){if (小米.equals(phone)){return new Xiaomi();} else if (魅族.equals(phone)) {return new Meizu();}else {return null;}} }Customer 消费者类 这个类就类似一个客户端的作用把。 /*** author linghu* date 2024/7/5 12:38*/ public class Customer {public static void main(String[] args) {PhoneFactory.getPhone(小米).getBrand();PhoneFactory.getPhone(魅族).getBrand();} }工厂方法模式 工厂方法模式就是在上面简单工厂模式的基础上做了一些修改具体的做法就是为每种不同品牌的手机都创建一个工厂独立生产。 案例 | 代码 如上其他代码都不变变化的部分是工厂那部分 PhoneFactory工厂类 首先修改一下PhoneFactory工厂类将 /*** author linghu* date 2024/7/5 12:35*/ public class PhoneFactory {public static Phone getPhone(String phone){if (小米.equals(phone)){return new Xiaomi();} else if (魅族.equals(phone)) {return new Meizu();}else {return null;}} }修改为 /*** author linghu* date 2024/7/5 12:35*/ public interface PhoneFactory {Phone getPhone(); }新增的两个工厂类 /*** author linghu* date 2024/7/5 14:09*/ public class MeizuFactory implements PhoneFactory{Overridepublic Phone getPhone() {return new Meizu();} } /*** author linghu* date 2024/7/5 14:08*/ public class XiaomiFactory implements PhoneFactory{Overridepublic Phone getPhone() {return new Xiaomi();} }Customer 消费者类 /*** author linghu* date 2024/7/5 12:38*/ public class Customer {public static void main(String[] args) { // PhoneFactory.getPhone(小米).getBrand(); // PhoneFactory.getPhone(魅族).getBrand();Phone xiaominew XiaomiFactory().getPhone();Phone meizunew MeizuFactory().getPhone();xiaomi.getBrand();meizu.getBrand();} }Java高级特性—工厂模式与反射的高阶玩法 我们先回顾一下上面的工厂模式用法列举一下会发现 简单工厂模式的局限性在于如果我们扩充手机的品牌就会违反 开闭原则。工厂方法模式的局限性在于我们扩充手机品牌需要不断new更多对象这是耦合的最大元凶 方案反射工厂模式 PhoneFactory工厂类 /*** author linghu* date 2024/7/5 12:35*/ public class PhoneFactory {public static Phone getInstance(String origin) throws ClassNotFoundException, InstantiationException, IllegalAccessException {Class? cls Class.forName(com.linghu.factory. origin);Phone brand(Phone)cls.newInstance();return brand;} }Customer 消费者类 这个时候我们无需再new更多对象了也不用写死了 /*** author linghu* date 2024/7/5 12:38*/ public class Customer {public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException { // PhoneFactory.getPhone(小米).getBrand(); // PhoneFactory.getPhone(魅族).getBrand(); // Phone xiaominew XiaomiFactory().getPhone(); // Phone meizunew MeizuFactory().getPhone(); // xiaomi.getBrand(); // meizu.getBrand();PhoneFactory.getInstance(Xiaomi).getBrand();} }输入类名以后反射创建对象再通过工厂返回相关对象 总结 第一个静态工厂模式在实际去开发中会发现比较常用尽管上面讲了不符合面向对象OOP原则。 第二个工厂方法模式不修改工厂类的前提也就是说不修改已有类实现对扩展是开发对修改关闭。
http://www.dnsts.com.cn/news/221592.html

相关文章:

  • 企业网站报价方案win10 做网站服务器
  • 注册个网站要多少钱珠海教育局系统网站
  • 网站建设与管理维护 大学论文紫金论坛最新新闻事件
  • 天津做网站哪家比较好怎么做网站可手机看
  • 网站一般用什么做的做招聘网站价格
  • 电子商务网站建设规划实践成果中英文网站如何做思路
  • 怀柔广州网站建设wordpress 添加php文件
  • 邯郸做网站推广费用网站获取访客
  • 如何做网站服务自建网站怎么做二级页跳转
  • 绍兴公司做网站wordpress 安装错误
  • cms做淘宝客网站郑州东站附近网站建设公司
  • 专业餐饮网站建设网站购物流程模块怎么实现
  • 阿里巴巴怎样做网站wordpress去除下划线
  • 做优惠券的网站搭建深圳市宝安区投资推广署官网
  • 福建省龙岩市建设培训中心网站wordpress 表格 链接
  • 公司自建网站新闻类网站模板
  • 哪个网站做房子团购互助网站制作公司
  • vs2013做的网站wordpress采集电影
  • 六安在建项目和拟建项目医疗类网站还有做seo
  • 东莞招聘网站数据库支持的网站怎么做
  • 南宁网站建设lilkj刷网站seo排名软件
  • 建设网站内容百度网页怎么设置青少年模式
  • 云课堂哪个网站做的好环境设计网站推荐
  • 大型网站开发php框架wordpress 仿手机商城模板
  • 网上注册网站要钱吗台州电子商务网站建设
  • wordpress数据库改密码忘记网站seo优化查询
  • php做网站开源项目济南网站建设内容设计
  • 成都建站模板网站开发织梦高清电影网站模板
  • 网站个人备案类型个人做当地旅游网站
  • 网站中国风模板电子版简历word格式