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

安卓游戏模板下载网站杭州网站的特点

安卓游戏模板下载网站,杭州网站的特点,把手机网站做成app,网站制作教程视频引言 在软件开发中#xff0c;我们经常需要创建各种对象实例来满足不同的需求。通常情况下#xff0c;我们会使用new关键字直接实例化对象#xff0c;但这种方法存在一些问题#xff0c;比如对象的创建逻辑分散在代码中#xff0c;难以维护和扩展#xff0c;同时也违反了…引言 在软件开发中我们经常需要创建各种对象实例来满足不同的需求。通常情况下我们会使用new关键字直接实例化对象但这种方法存在一些问题比如对象的创建逻辑分散在代码中难以维护和扩展同时也违反了面向对象设计的原则之一——依赖倒置原则。 为了解决这些问题设计模式中的工厂模式应运而生。工厂模式通过提供一个抽象的工厂接口来创建对象将对象的创建逻辑封装在工厂中从而实现了对象的解耦和创建的灵活性。 工厂模式的核心思想 工厂模式的核心思想是将对象的创建过程封装在一个工厂类中客户端通过工厂类来获取所需的对象实例工厂类根据客户端的请求决定创建哪种具体的对象并返回给客户端使用。 工厂模式的主要目标是将对象的创建和使用解耦使得客户端只需要关注接口而不需要关心具体的对象创建过程这样可以提高代码的可维护性、灵活性和可扩展性。 工厂模式的优势 1. 降低耦合性 工厂模式通过将对象的创建逻辑封装在工厂类中使得客户端与具体的对象实现解耦客户端只需要通过工厂接口来获取对象而不需要了解对象的具体实现细节这样可以降低模块之间的耦合性提高代码的可维护性和可测试性。 2. 简化对象创建过程 工厂模式将对象的创建逻辑集中在一个工厂类中客户端只需要调用工厂类的方法即可获取所需的对象实例这样可以简化对象的创建过程避免在代码中散落着大量的new关键字提高代码的可读性和可维护性。 3. 提供灵活的扩展性 工厂模式通过抽象工厂接口和具体工厂类的实现提供了一种灵活的扩展机制。当需要新增一种对象类型时只需要新增一个具体工厂类即可而无需修改客户端的代码这样可以方便地扩展系统的功能符合开闭原则 工厂模式的应用场景 工厂模式适用于以下场景 - 当一个类不知道它所需要的对象的确切类时可以使用工厂模式来创建对象。 - 当一个类希望通过子类来指定创建对象时可以使用工厂模式。 - 当需要灵活地管理和扩展对象的创建过程时可以使用工厂模式。 工厂模式的具体实现 使用工厂模式来实现创建Bean对象的过程模仿Spring的Bean工厂创建对象 1. Bean接口bean的抽象方法 public interface Bean {void show(); } 2. BeanFactory接口(抽象工厂)定义了获取Bean实例的方法 public interface BeanFactory {Bean getBean(String beanName); } 3. DefaultBeanFactory实现BeanFactory接口具体工厂 public class DefaultBeanFactory implements BeanFactory {//对象组件注册private MapString, Bean beanRegistry;//初始化工厂public DefaultBeanFactory() {beanRegistry new HashMap();// 在初始化时注册Bean实例beanRegistry.put(bean1, new Bean1());beanRegistry.put(bean2, new Bean2());}//根据bean名字获取实例public Bean getBean(String beanName) {return beanRegistry.get(beanName);} } BeanContainer类容器用于管理BeanFactory和Bean实例相对于工厂模式这一步是额外加的 public class BeanContainer {//bean工厂private BeanFactory beanFactory;//存储beanprivate MapString, Bean beanInstances;//初始化容器public BeanContainer() {beanFactory new DefaultBeanFactory();beanInstances new HashMap();}//获取beanpublic Bean getBean(String beanName) {Bean bean beanInstances.get(beanName);if (bean null) {//只创建一次bean beanFactory.getBean(beanName);beanInstances.put(beanName, bean);}return bean;} } 4. 创建实现类实现bean接口客户端测试工厂模式创建对象 public class Bean1 implements Bean {public void show() {System.out.println(Bean1创建成功...);} }public class Bean2 implements Bean {public void show() {System.out.println(Bean2创建成功...);} } public class Main{public static void main(String[] args) {//获取容器BeanContainer beanContainer new BeanContainer();//从容器里面取出对象Bean bean1 beanContainer.getBean(bean1);Bean bean2 beanContainer.getBean(bean2);//测试调用bean1.show();bean2.show();} }
http://www.hkea.cn/news/14497327/

相关文章:

  • 昆山网站建设电话值得关注的优秀设计作品
  • 九天智能建站软件微信小程序开发实例教程
  • 网站程序模板网站开发技术一般需要什么语言
  • 全球著名科技网站seo排名第一的企业
  • 国外做展台搭建的设计网站本地生活网站 源码
  • 用什么做淘宝客网站好系统搭建
  • c 网站开发 简单例子百度推广账户搭建
  • 成都企业网站设计服务商浙江网站建设
  • 企业网站深圳常州网站建设百科
  • 网站建设费包括网站上面的彩票快3怎么做
  • 基层建设期刊上什么网站查询文章icp备案添加网站
  • 外贸推广网站哪家中国东凤网站制作
  • 佛山网站制作咨询网站建设需求登记表 免费下载
  • 网站meta标签怎么做推广赚钱的app有哪些
  • 湘潭手机网站网站建设美工招聘
  • 白云鄂博矿区网站建设wordpress破解主题教程
  • 山西省建设注册中心网站首页智慧团建电脑版登录入口官网
  • 哪种源码做视频网站好用许昌城乡建设局网站
  • 网站开发设计书籍wordpress空页面模板
  • 贵州城乡建设部网站首页无锡网络公司无锡网站制作
  • 怎么做网站百度经验石家庄网站建设费用
  • 药理学网站建设方案山东省住房建设部网站首页
  • 福田做网站怎么样怎么利用网站上的图片
  • 网站的交互怎么做上海什么公司最有名
  • 做区位分析的网站建设类网站有哪些
  • 网站卡的原因陕西省建设工程质量监督站网站
  • 盘锦网站建设策划网站外链怎么做
  • 做地方网站要办什么证wordpress手机图片站
  • pc网站如何转为手机版西安网站建设孙正学
  • 网站建设实训实训心得后端开发是什么