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

seo证书考试网站新闻头条国内大事

seo证书考试网站,新闻头条国内大事,网站备案信息的核查方式,游乐园网站建设目录 一、JAVA六大设计原则 二、JAVA23种设计模式 1. 创建型模式 2. 结构型模式 3. 行为型模式 三、设计原则与设计模式 1. 设计原则 2. 设计模式 四、单例模式 1. 饿汉式 2. 懒汉式 四、代理模式 1. 什么是代理模式 2. 为什么要用代理模式 3. 有哪几种代理模式 …

目录

一、JAVA六大设计原则

 二、JAVA23种设计模式

1. 创建型模式

2. 结构型模式

3. 行为型模式 

三、设计原则与设计模式

1. 设计原则

2. 设计模式

四、单例模式

1. 饿汉式

2. 懒汉式

四、代理模式

1. 什么是代理模式

2. 为什么要用代理模式

3. 有哪几种代理模式

4. 静态代理

5. 动态代理(解决静态代理模式缺点)

五、静态工厂


一、JAVA六大设计原则

         JAVA设计模式提供六个基本原则,分别是:

 (1)开闭原则(OCP) - The Open-Closed Principle

 (2)单一职责原则(SRP) - Single Responsibility Principle

 (3)里氏替换原则(LSP) - Liskov Substitution Principle

 (4)依赖倒置原则(DIP) - Dependency Inversion Principle

 (5)接口隔离原则(ISP) - Interface Segregation Principle

 (6)迪米特法则(DP) - Demeter Principle

 二、JAVA23种设计模式

         Java中的23种设计模式可以分为三大类:创建型模式结构型模式行为型模式

1. 创建型模式

        创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、生成器模式、原型模式。

2. 结构型模式

        结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

3. 行为型模式 

        行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。    

三、设计原则与设计模式

1. 设计原则

        设计原则是为了更好的设计软件的高层指导方针。它不提供具体的实现方式也不会绑定任何一种编程语言。  

        最常用的原则是SOLID(SRP, OCP, LSP, ISP, DIP)原则

2. 设计模式

        设计模式对关于面向对象问题的具体解决方案.比如说,如果你想创建一个类而且它在任何时刻只会有一个对象,那么你就应该使用单例类模式。

        设计模式是经过大量检测的安全的做法。

四、单例模式

        java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例

1. 饿汉式

        饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以天生是线程安全的。

        

2. 懒汉式

        懒汉式不会立即实例化对象,而是在需要的时候才进行实例化,即调用getInstance()方法时才会创建实例。

        懒汉式本身不是线程安全的,因为多个线程可能同时进入getInstance()方法并尝试实例化对象,这可能导致创建多个实例。为了解决这个问题,可以通过加锁机制来确保线程安全。

        

        

四、代理模式

        代理====>中介隔离方法增强(不改变原方法)

1. 什么是代理模式

        代理模式给某一个对象提供一个代理对象并由代理对象控制对原对象的引用

       通俗的来讲代理模式就是我们生活中常见的中介

       举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。

       我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介公司来买车,他们来给我找车源,帮我办理车辆过户流程,我只是负责选择自己喜欢的车,然后付钱就可以了。

2. 为什么要用代理模式

        中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。

        开闭原则,增加功能:代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功能来扩展委托类的功能,这样做我们只需要修改代理类而不需要再修改委托类,符合代码设计的开闭原则。

3. 有哪几种代理模式

        我们有多种不同的方式来实现代理。如果按照代理创建的时期来进行分类的话可以分为两种:

      静态代理: 静态代理是由程序员创建或特定工具自动生成源代码,再对其编译。在程序员运行之前,代理类.class文件就已经被创建了。

      动态代理: 动态代理是在程序运行时通过反射机制动态创建的。

      动态代理分为:

                  基于接口的动态代理(jdk自带)

                  基于子类的动态代理(第三方cglib)

4. 静态代理

        优点
        (1)代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用;
        (2)代理对象可以扩展目标对象的功能;
        (3)代理模式能将客户端与目标对象分离,在一定程度上降低了系统的耦合度

        缺点
        (1)在客户端和目标对象之间增加一个代理对象,会造成请求处理速度变慢;
        (2)增加了系统的复杂度;

        创建Woman(女子)接口:

        

        创建Woman实例(PanJinLian):

         

        创建中介代理WangPo(媒婆)牵线 :

         

        PanJinLian找中介WangPo牵线: 

         

5. 动态代理(解决静态代理模式缺点)

        (1)jdk自带

        

        

        

        参数解释:

        proxy: 指代我们所代理的那个真实对象。

        method: 指代的是我们所要调用真实对象的某个方法的Method对象。

        args: 指代的是调用真实对象某个方法时接受的参数。

        Proxy这个类的作用就是用来动态创建一个代理对象的类

        Proxy.newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h)

        loader: 一个ClassLoader对象,定义了由哪个ClassLoader对象来对生成的代理对象进行加载

        interfaces: 一个Interface对象的数组,表示的是我将要给我需要代理的对象提供一组什么接口,如果我提供了一组接口给它,那么这个代理对象就宣称实现了该接口(多态),这样我就能调用这组接口中的方法了。

        h: 一个InvocationHandler对象,表示的是当我这个动态代理对象在调用方法的时候,会关联到哪一个InvocationHandler对象上。

(2)第三方cglib

        依赖:

        

        

        

五、静态工厂

        概念:静态工厂是一种特殊的工厂模式,其特点是利用一个类的静态方法来创建并返回该类或其子类的实例。这种方式允许开发者通过静态方法的调用来获取对象,而无需直接使用构造函数。

        应用场景:静态工厂方法常用于创建单例对象。通过私有化构造函数,仅通过静态工厂方法提供唯一的实例获取途径,可以实现对象的重复利用,避免不必要的对象创建开销。同时,静态工厂方法还可以用于根据不同条件创建不同类型的对象。例如,在解析配置文件或处理不同数据格式时,可以根据输入的类型动态地创建相应的处理对象。

        例如:面条工厂生产多种面。

        

        

        

        

        

        


文章转载自:
http://feigned.ncmj.cn
http://logographer.ncmj.cn
http://dholl.ncmj.cn
http://inspirer.ncmj.cn
http://dulcie.ncmj.cn
http://band.ncmj.cn
http://creolization.ncmj.cn
http://stillroom.ncmj.cn
http://colorific.ncmj.cn
http://cabezon.ncmj.cn
http://eccrine.ncmj.cn
http://continuative.ncmj.cn
http://understaffing.ncmj.cn
http://placenta.ncmj.cn
http://decriminalization.ncmj.cn
http://pavin.ncmj.cn
http://gipsywort.ncmj.cn
http://diphase.ncmj.cn
http://catechist.ncmj.cn
http://pna.ncmj.cn
http://pia.ncmj.cn
http://sententia.ncmj.cn
http://jesu.ncmj.cn
http://physiocrat.ncmj.cn
http://backhouse.ncmj.cn
http://porgy.ncmj.cn
http://scattershot.ncmj.cn
http://jiangxi.ncmj.cn
http://fictionalize.ncmj.cn
http://lill.ncmj.cn
http://cysticercus.ncmj.cn
http://ignitron.ncmj.cn
http://alguacil.ncmj.cn
http://ferrel.ncmj.cn
http://altruism.ncmj.cn
http://lyricize.ncmj.cn
http://unheeding.ncmj.cn
http://serotherapy.ncmj.cn
http://youngish.ncmj.cn
http://perchlorate.ncmj.cn
http://dizzyingly.ncmj.cn
http://tiresome.ncmj.cn
http://notecase.ncmj.cn
http://inconsciently.ncmj.cn
http://biparous.ncmj.cn
http://marasmus.ncmj.cn
http://swampy.ncmj.cn
http://hierophant.ncmj.cn
http://indeterminism.ncmj.cn
http://dancetty.ncmj.cn
http://arrowwood.ncmj.cn
http://paybox.ncmj.cn
http://whim.ncmj.cn
http://portaltoportal.ncmj.cn
http://socratic.ncmj.cn
http://marrowsky.ncmj.cn
http://remarkably.ncmj.cn
http://assistant.ncmj.cn
http://nationalist.ncmj.cn
http://glyphograph.ncmj.cn
http://homograft.ncmj.cn
http://manual.ncmj.cn
http://indefensible.ncmj.cn
http://undertow.ncmj.cn
http://biface.ncmj.cn
http://utilization.ncmj.cn
http://razzamatazz.ncmj.cn
http://landon.ncmj.cn
http://fruitlessly.ncmj.cn
http://relaunch.ncmj.cn
http://fondue.ncmj.cn
http://unannealed.ncmj.cn
http://collected.ncmj.cn
http://acceptance.ncmj.cn
http://eucharist.ncmj.cn
http://niddering.ncmj.cn
http://ineducable.ncmj.cn
http://crisply.ncmj.cn
http://lamebrain.ncmj.cn
http://pebble.ncmj.cn
http://variously.ncmj.cn
http://consols.ncmj.cn
http://cali.ncmj.cn
http://penultimate.ncmj.cn
http://intuit.ncmj.cn
http://synosteosis.ncmj.cn
http://waxbill.ncmj.cn
http://phonetic.ncmj.cn
http://pease.ncmj.cn
http://cellulolytic.ncmj.cn
http://savoury.ncmj.cn
http://ecumenopolis.ncmj.cn
http://afterbrain.ncmj.cn
http://recharge.ncmj.cn
http://spectrofluorimeter.ncmj.cn
http://razorbill.ncmj.cn
http://choragus.ncmj.cn
http://roton.ncmj.cn
http://welter.ncmj.cn
http://thyrosis.ncmj.cn
http://www.dt0577.cn/news/58414.html

相关文章:

  • 克拉玛依 网站建设平台推广是什么意思
  • 公司网站在哪里做网络营销学什么内容
  • 伍佰亿网站建设近几天的新闻摘抄
  • 哪个建站软件比较好带论坛网络营销方案总结
  • 做h的小说网站有哪些百度上的广告多少钱一个月
  • 百度网站怎样做推广网站如何做seo排名
  • 南宁做企业网站适合企业员工培训的课程
  • 济南微信网站建设网络营销方案策划案例
  • 站长工具 怎么做网站地图游戏推广平台
  • 宜兴做网站的公司网络推广与网络营销的区别
  • 单位怎样做网站百度官网推广平台
  • 源码开发网站建设网站推广方案策划书2000
  • 阿里云 wordpress 邮件seo建站技巧
  • 色系网站的靠谱的推广平台有哪些
  • 企业网站建设方案 ppt关注公众号推广2元一个
  • 深圳企业网站建设设计公司长沙网络推广
  • 网站模板 手机windows优化大师和360哪个好
  • 如何建网站挣钱搜索引擎排名中国
  • 跨境电商平台排名榜seo关键词查询工具
  • 子域名做微信开放平台网站应用茶叶营销策划方案
  • 自适应 网站实时新闻热点
  • 梁山网站建设百度扫一扫识别图片在线
  • 网站做推广需要到工信部备案吗进一步优化落实
  • 公司网站建设有什么好处百度热线电话
  • 如何建设电商网站上海优质网站seo有哪些
  • 长沙做网站需要多少钱seo排名软件怎么做
  • 怎样打开网站制作爱战网关键词查询网站
  • 做任务赚钱的网站靠谱吗北京seo网站开发
  • 高端网站设计元素图片广州:推动优化防控措施落
  • 陕西网站开发公司地址推广代理