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

网站内页全是404请别人做网站注意事项

网站内页全是404,请别人做网站注意事项,wordpress 仿豆瓣标注,wordpress ip地址修改系列文章目录 Java面试题解释题JavaSE部分 Java面试题解释题框架部分 Java面试题解释题单例模式、工厂模式、代理模式部分 文章目录 系列文章目录前言一、设计模式1. 单例模式1.1 单例模式的定义1.2 单例模式的实现方法 2. 工厂模式2.1 工厂模式的定义2.2 工厂模式的实现方法2…

系列文章目录

Java面试题·解释题·JavaSE部分
Java面试题·解释题·框架部分
Java面试题·解释题·单例模式、工厂模式、代理模式部分


文章目录

  • 系列文章目录
  • 前言
  • 一、设计模式
    • 1. 单例模式
      • 1.1 单例模式的定义
      • 1.2 单例模式的实现方法
    • 2. 工厂模式
      • 2.1 工厂模式的定义
      • 2.2 工厂模式的实现方法
      • 2.3 工厂模式的好处
      • 2.4 工厂模式的使用场景
    • 3. 代理模式
      • 3.1 代理模式的定义
      • 3.2 代理模式的实现方法
      • 3.3 代理模式的好处
      • 3.4 动态代理以及静态代理的区别
        • 3.4.1 静态代理
        • 3.4.2 动态代理
        • 3.4.3 动态代理和静态代理的区别
  • 总结


前言

本文将介绍:
单例模式、
工厂模式、
代理模式
本文主要介绍以上部分的面试题。


一、设计模式

设计模式是为了专门解决特定问题的模板,如果需求符合问题,设计模式能更简单、更正确的解决问题。

1. 单例模式

1.1 单例模式的定义

单例模式:该类能且仅能出现一个对象;该类必须自行创建该对象;该类必须将对象提供给外部。

该类只能有一个实例:此类只提供私有的构造函数;
该类必须自行创建该对象:此类定义中有一个私有静态的对象;
该类必须将对象提供给外部:此类定义中有静态公有方法能够创建并获取到静态私有对象并返回;
创建的方法和获取的方法可以是同一个方法

1.2 单例模式的实现方法

饿汉式:饿汉式是在类加载时就进行初始化。它的实现方法是在类加载的时候就创建并初始化。
饿汉式的特点是线程安全、浪费资源

懒汉式:懒汉式是在首次使用时进行初始化。懒汉式的实现方法是在需要时进行延迟初始化。
懒汉式的特点是线程不安全、节省资源、需要考虑多线程环境下的同步问题

静态内部类:静态内部类是在内部类被加载和初始化时,才创建单例对象。每次访问静态内部类的静态成员时,静态内部类只会被加载一次,之后的访问将直接返回已创建的实例。
静态内部类结合了饿汉式和懒汉式的优点,既可以实现延迟加载,又能保证线程安全

2. 工厂模式

2.1 工厂模式的定义

工厂模式:用于封装对象的创建过程,将对象的实例化过程与使用过程分离。

定义一个工厂类,该类负责根据客户端的需求创建具体的对象,并将对象返回给客户端使用。客户端通过调用工厂类的方法来获取对象,而无需直接依赖于具体的对象实现类。

2.2 工厂模式的实现方法

抽象产品(Abstract Product):定义产品的共同接口,可以是抽象类或接口。
具体产品(Concrete Product):实现抽象产品接口,是工厂所创建的对象。
工厂类(Factory Class):负责创建具体产品对象的类。根据客户端传入的参数决定创建哪种对象。
简单工厂模式的优点包括:

2.3 工厂模式的好处

封装对象的创建过程,客户端只需要关心产品的接口,无需关心具体的实现类。
可以通过工厂类来集中管理和控制对象的创建,提供更高的灵活性和可维护性。
可以通过工厂类来隐藏具体产品的实现细节,对客户端代码进行解耦,提供更好的扩展性。
简单工厂模式的缺点是当需要添加新的产品时,需要修改工厂类的代码,违反了开闭原则。同时,工厂类集中了所有产品的创建逻辑,可能导致工厂类的代码变得庞大而复杂。

2.4 工厂模式的使用场景

需要创建一组相关对象的场景,这些对象共享相同的接口或基类。
需要隐藏对象创建的具体细节,只暴露产品的接口给客户端。
需要根据不同的条件创建不同的对象。

3. 代理模式

3.1 代理模式的定义

代理模式的核心思想是通过一个代理对象来间接访问目标对象,代理对象和目标对象实现了相同的接口或继承了相同的父类,以便代理对象可以完全替代目标对象。

3.2 代理模式的实现方法

抽象对象接口(Subject):定义了目标对象和代理对象的共同接口,可以是抽象类或接口。
目标对象(Real Subject):定义了代理对象所代表的真实对象,是客户端真正要访问的对象。
代理对象(Proxy):持有目标对象的引用,并在访问目标对象之前或之后进行一些额外的操作。

3.3 代理模式的好处

代理模式可以在不改变目标对象的前提下,通过引入代理对象来对目标对象进行扩展或增强。
代理模式可以实现客户端和目标对象之间的解耦,客户端只需要通过代理对象来访问目标对象,无需关心具体的实现细节。
代理模式可以在访问目标对象之前或之后添加一些额外的操作,如权限控制、缓存、日志记录等。(AOP)

3.4 动态代理以及静态代理的区别

动态代理和静态代理都是代理模式的具体实现方式,用于控制对目标对象的访问。它们的主要区别在于代理类的生成方式和访问方式。

3.4.1 静态代理

静态代理是在编译时创建代理类,在编码阶段就已经确定了代理对象和目标对象的关系。在静态代理中,需要手动编写代理类,代理类和目标类都实现了同一个接口或继承了同一个父类。代理类持有目标对象的引用,并在方法调用前后进行一些额外的操作。静态代理的优点是简单直接,易于理解和实现。但是,静态代理的缺点是在代理类和目标类之间存在强耦合,如果需要代理多个类,就需要编写多个代理类。

3.4.2 动态代理

动态代理是在运行时动态生成代理类,无需手动编写代理类。动态代理利用Java的反射机制,在运行时动态地创建代理类和代理对象。在动态代理中,代理对象通过实现InvocationHandler接口来定义代理类的行为。当调用代理对象的方法时,会被重定向到InvocationHandler的invoke方法,并在该方法中执行一些额外的操作。动态代理的优点是可以代理多个类,通过同一个代理类来完成对不同目标对象的访问。但是,动态代理的缺点是相对于静态代理来说,实现更加复杂。

3.4.3 动态代理和静态代理的区别

代理类的生成方式:静态代理在编译时创建代理类,需要手动编写代理类;而动态代理是在运行时动态生成代理类,无需手动编写代理类。
对象的访问方式:静态代理的访问方式在编译时确定,代理对象对目标对象的访问是静态的;而动态代理的访问方式在运行时确定,代理对象对目标对象的访问是动态的。
扩展性:静态代理需要为每个目标对象编写一个代理类,扩展性较差;而动态代理可以适用于多个目标对象,通过同一个代理类来完成对不同目标对象的访问,扩展性较好。


总结

以上是单例模式、工厂模式、代理模式部分的解释题,感谢各位客官收看。

http://www.yayakq.cn/news/720506/

相关文章:

  • 张家港网站设计建设安平做网站
  • 用手机做兼职的网站wordpress火车头采集
  • 校园网站建设方向网站新闻列表页面代码
  • 做门户网站预算中国网络经纪人
  • 长沙制作网站商品展示网站源码
  • extjs网站开发福州网站开发私人
  • 长沙做网站需要多少钱企业微信公众号平台官网
  • 中国蔬菜网网站建设电话中国制造货源网一件代发
  • 娃哈哈网站建设的目标wordpress无法修改文章
  • 东城网站设计泰州外贸网站建设
  • 找人做网站去哪里找比较好的公文写作网站
  • wordpress 底部美化宁波优化seo软件公司
  • 山东省建设人才网站上海网络推广软件
  • 网站开发报价和开发周期简单建设网站
  • 网站网页制作公司网站以前做视频的网站
  • 网站提交搜索引擎后出现问题网店装修定制
  • 上海网站建设设如何做简单的网站
  • asp响应式h5网站源码it行业有哪些职业
  • 网站设计制作中心重庆网站建站系统
  • 教做幼儿菜谱菜的网站国展网站建设
  • 网站app免费制作软件网站开发 项目职责
  • 做网站外包需要提供什么适合在家做的电商
  • 网站索引量突然下降给公司做网站销售怎样啦
  • 学校网站总务建设北京企业网站开发费用
  • 李沧网站建设公司懒设计app
  • 网上购物的网站开发背景无锡专业网站制作的公司
  • php网站开发工资安防 光速东莞网站建设
  • 下列关于网站开发中网站上传动画设计培训学校排名
  • 申请网站多少钱网站建设管理实训报告
  • 网站编辑怎么做的杭州专业做网站的公司有哪些