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

网站建设论文答辩ppt网站架构图图

网站建设论文答辩ppt,网站架构图图,国际军事新闻联播,tp框架做展示网站文章目录面向对象编程中#xff0c;都有哪些设计原则#xff1f;设计模式的分类 #xff1f;单例模式的特点是什么#xff1f;单例模式有哪些实现#xff1f;什么是简单⼯⼚模式什么是抽象⼯⼚模式#xff1f;什么是⼯⼚⽅法模式#xff1f;什么是代理模式#xff1f;S… 文章目录面向对象编程中都有哪些设计原则设计模式的分类 单例模式的特点是什么单例模式有哪些实现什么是简单⼯⼚模式什么是抽象⼯⼚模式什么是⼯⼚⽅法模式什么是代理模式Spring 框架中都用到了哪些设计模式什么是适配器模式 什么是建造者模式 什么是策略模式 什么是观察者模式 什么是模板方法模式 什么是装饰器模式 面向对象编程中都有哪些设计原则 单一职责原则 一个对象要专注于一种事情不要让它担任太多责任。 开闭原则 对扩展开放对修改关闭。就是如果要修改原有的功能或者是扩展功能尽量去扩展原有的代码而不是修改原来已有的代码。 接口隔离原则 一个接口尽量只包含用户关心的内容。就是一个接口不要太庞大。 里氏替换原则 任何子类对象都应该可以替换其派生的超类对象 。即子类可以扩展父类的功能但不要修改父类原有的功能。 也就是说当一个子类继承父类后尽量不要去重写它原有的方法。 依赖转置依赖倒置原则 要面向接口编程不要面向实现编程。两个模块交互时都访问各自接口而不是具体的实现类。 迪米特法则 如果两个软件实体之间不是特别必要尽量不要让他们直接通信。而是找个第三方进行转发比如使用MQ消息队列。 合成复用原则 如果在“组合/聚合”和“继承”之间做抉择时优先选择“组合/聚合”。 设计模式的分类 创建型模式 用于创建对象的设计模式。一般可以简化用户创建对象的过程。其次可以降低耦合度用户不需要关心对象具体的创建过程。 包含单例模式、原型模型、工厂模式、建造者模式 结构型模型 组织对象之间的结构。使其易于扩展等。 包括代理模式、适配器模式、桥接模式、装饰器模式、外观模式、享元模式、组合模式 行为型模型 主要用于决定对象如何做出行为 包括模板方法模式、策略模式、命令模式、责任链、状态模式、观察者模式、中介者模式、迭代器模式、访问者模式、备忘录模式、解释器模式 单例模式的特点是什么 单例模式属于创建型模式⼀个单例类在任何情况下都只存在⼀个实例构造方法必须是私有的、由自己创建⼀个静态变量存储实例对外提供⼀个静态公有方法获取实例。 优点是内存中只有⼀个实例减少了开销尤其是频繁创建和销毁实例的情况下并且可以避免对资源的多重用。缺点是没有抽象层难以扩展与单⼀职责原则冲突。 Spring 的 ApplicationContext 创建的 Bean 实例都是单例对象还有 ServletContext、数据库连接池等也都是单例模式。 单例模式有哪些实现 饿汉式在类加载时就初始化创建单例对象线程安全但不管是否使⽤都创建对象可能会浪费内存。 懒汉式在外部调⽤时才会加载线程不安全可以加锁保证线程安全但效率低。 双重检查锁使⽤ volatile 以及多重检查来减⼩锁范围提升效率。 静态内部类同时解决饿汉式的内存浪费问题和懒汉式的线程安全问题。 枚举《Effective Java》提倡的⽅式不仅能避免线程安全问题还能防⽌反序列化重新创建新的对象绝对防⽌多次实例化也能防⽌反射破解单例的问题。 什么是简单⼯⼚模式 简单工厂模式指由⼀个工厂对象来创建实例客户端不需要关注创建逻辑只需提供传⼊工厂的参数。 适⽤于工厂类负责创建对象较少的情况缺点是如果要增加新产品就需要修改工厂类的判断逻辑违背开闭原则且产品多的话会使工厂类⽐较复杂。 什么是抽象⼯⼚模式 抽象工厂模式指提供⼀个创建⼀系列相关或相互依赖对象的接⼝⽆需指定它们的具体类。 客户端不依赖于产品类实例如何被创建和实现的细节主要⽤于系统的产品有多于⼀个的产品族⽽系 统只消费其中某⼀个产品族产品的情况。抽象工厂模式的缺点是不方便扩展产品族并且增加了系统的 抽象性和理解难度。 什么是⼯⼚⽅法模式 工厂方法模式指定义⼀个创建对象的接⼝让接⼝的实现类决定创建哪种对象让类的实例化推迟到⼦类中进行。 客户端只需关⼼对应工厂而无需关⼼创建细节主要解决了产品扩展的问题在简单⼯⼚模式中如果产品种类变多工厂的职责会越来越多不便于维护。 什么是代理模式 代理模式属于结构型模式为其他对象提供⼀种代理以控制对这个对象的访问。优点是可以增强⽬标对 象的功能降低代码耦合度扩展性好。缺点是在客户端和⽬标对象之间增加代理对象会导致请求处理速度变慢增加系统复杂度。 为其他对象提供一种代理以控制对这个对象的访问。在直接访问对象时带来的问题比如说要访问的对象在远程的机器上。在面向对象系统中有些对象由于某些原因比如对象创建开销很大或者某些操作需要安全控制或者需要进程外的访问直接访问会给使用者或者系统结构带来很多麻烦我们可以在访问此对象时加上一个对此对象的访问层。 spring 利⽤动态代理实现 AOP如果 Bean 实现了接⼝就使⽤ JDK 代理否则使⽤ CGLib 代理。 静态代理代理对象持有被代理对象的引⽤调⽤代理对象⽅法时也会调⽤被代理对象的⽅法但是会 在被代理对象⽅法的前后增加其他逻辑。需要⼿动完成在程序运⾏前就已经存在代理类的字节码⽂件代理类和被代理类的关系在运⾏前就已经确定了。 缺点是⼀个代理类只能为⼀个⽬标服务如果要服务多种类型会增加⼯作量。 动态代理动态代理在程序运⾏时通过反射创建具体的代理类代理类和被代理类的关系在运⾏前是不确定的。动态代理的适⽤性更强主要分为 JDK 动态代理和 CGLib 动态代理。 JDK 动态代理通过类的⽅法获取⼀个动态代理对象需要传⼊三个参数被代理对象的类加载器、被代理对象实现的接⼝以及⼀个器来指明具体的逻辑相⽐静态代理的优势是接⼝中声明的所有⽅法都被转移到调⽤处理的⽅法集中处理。 CGLib 动态代理JDK 动态代理要求实现被代理对象的接⼝⽽ CGLib 要求继承被代理对象如果⼀个类是 final 类则不能使⽤ CGLib 代理。两种代理都在运⾏期⽣成字节码JDK 动态代理直接写字节码⽽ CGLib 动态代理使⽤ ASM 框架写字节码ASM 的⽬的是⽣成、转换和分析以字节数组表示的已编译 Java 类。 JDK 动态代理调⽤代理⽅法通过反射机制实现⽽ GCLib 动态代理通过 FastClass 机制直接调⽤⽅法它为代理类和被代理类各⽣成⼀个类该类为代理类和被代理类的⽅法分配⼀个 int 参数调⽤⽅法时可以直接定位因此调⽤效率更⾼。 Spring 框架中都用到了哪些设计模式 Spring 框架中使用到了大量的设计模式下面列举了比较有代表性的 代理模式—在 AOP 和 remoting 中被用的比较多。 单例模式—在 spring 配置文件中定义的 bean 默认为单例模式。 前端控制器—Spring 提供了 DispatcherServlet 来对请求进行分发。 什么是适配器模式 将一个接口转换成客户希望的另一个接口使接口不兼容的那些类可以一起工作其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式也可以作为对象结构型模式。 在适配器模式中我们通过增加一个新的适配器类来解决接口不兼容的问题使得原本没有任何关系的类可以协同工作。 根据适配器类与适配者类的关系不同适配器模式可分为对象适配器和类适配器两种在对象适配器模式中适配器与适配者之间是关联关系在类适配器模式中适配器与适配者之间是继承或实现关系。 什么是建造者模式 将一个复杂对象的构造与它的表示分离使同样的构建过程可以创建不同的表示这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象然后一步一步构建而成。它将变与不变相分离即产品的组成部分是不变的但每一部分是可以灵活选择。 什么是策略模式 策略模式属行为模型模式定义了⼀系列算法并封装起来之间可以互相替换。策略模式主要解决在有多种算法相似的情况下使⽤ if/else 所带来的难以维护。 优点是算法可以⾃由切换可以避免使用多重条件判断并且扩展性良好缺点是策略类会增多并且所有 策略类都需要对外暴露。 在集合框架中经常需要通过构造方法传⼊⼀个比较器 Comparator 进行比较排序。Comparator 就是 ⼀个抽象策略⼀个类通过实现该接⼝并重写 compare 方法成为具体策略类。 创建线程池时需要传⼊拒绝策略当创建新线程使当前运⾏的线程数超过 maximumPoolSize 时会使⽤相应的拒绝策略处理。 什么是观察者模式 观察者模式属于⾏为型模式也叫发布订阅模式定义对象间的⼀种⼀对多的依赖关系当⼀个对象的 状态发⽣改变时所有依赖于它的对象都得到通知并被⾃动更新。主要解决⼀个对象状态改变给其他对象通知的问题缺点是如果被观察者对象有很多的直接和间接观察者的话通知很耗时 如果存在循环依赖的话可能导致系统崩溃另外观察者⽆法知道⽬标对象具体是怎么发⽣变化的。 ServletContextListener 能够监听 ServletContext 对象的⽣命周期实际上就是监听 Web 应⽤。当Servlet 容器启动 Web 应⽤时调⽤contextInitialized方法终⽌时调⽤ contextDestroyed方法。 什么是模板方法模式 模板模式属于⾏为型模式使⼦类可以在不改变算法结构的情况下重新定义算法的某些步骤适⽤于抽 取⼦类重复代码到公共⽗类。 优点是可以封装固定不变的部分扩展可变的部分。缺点是每⼀个不同实现都需要⼀个⼦类维护会增 加类的数量。 为防⽌恶意操作⼀般模板⽅法都以 final 修饰。 HttpServlet 定义了⼀套处理 HTTP 请求的模板service ⽅法为模板⽅法定义了处理HTTP请求的基本流程doXXX 等⽅法为基本⽅法根据请求⽅法的类型做相应的处理⼦类可重写这些⽅法。 什么是装饰器模式 装饰器模式属于结构型模式在不改变原有对象的基础上将功能附加到对象相⽐继承可以更加灵活地 扩展原有对象的功能。 装饰器模式适合的场景在不想增加很多⼦类的前提下扩展⼀个类的功能。 java.io 包中InputStream 字节输⼊流通过装饰器 BufferedInputStream 增强为缓冲字节输⼊流。
http://www.w-s-a.com/news/19971/

相关文章:

  • 长沙网站建设联系电话怎么做表格
  • 网站怎么做域名实名认证龙华网站 建设信科网络
  • 企业网站规划方案网站是做排行榜
  • 万维网网站个人申请网站
  • 我想做网站怎么做昆山网站建设 全是乱码
  • 单位做网站怎么做圣诞树html网页代码
  • 网页开发与网站开发企业网站托管服务常用指南
  • 一站式服务图片临沂做进销存网站
  • 鸣蝉智能建站标准物质网站建设模板
  • 电商网站建设技术员的工作职责商业网站制作价格
  • 网站html模板免费下载公司的网站建设费用入什么科目
  • 高中生做网站网页网页制作教程零基础学会
  • 做金融网站有哪些要求WordPress站内搜索代码
  • 济南网站怎么做seowordpress注册发邮件
  • 珠海网站设计平台东莞市手机网站建设平台
  • 网站开发文档合同怎么在wordpress导航条下方加入文字广告链接
  • 网站建设需怎么做有网站怎么做企业邮箱
  • 网站制作流程视频教程小程序多少钱一年
  • 暗网是什么网站花都网站建设哪家好
  • 贵州网站开发流程晋江论坛手机版
  • 网站建设丿金手指谷哥14阿里巴巴官网电脑版
  • 网站开发招聘信息匿名ip访问网站受限
  • 网站转app工具网站规划建设与管理维护大作业
  • flash是怎么做网站的.net购物网站开发
  • 烟台网站建设求职简历品质商城网站建设
  • 做百度外链哪些网站权重高点做网站具备的条件
  • 怎么样用ppt做网站红番茄 网站点评
  • 建设银行河北分行招聘网站哪里能找到网站
  • 兰州营销型网站网站建设收费标准
  • 网站首页动图怎么做自己做网站很难