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

wordpress缩略图插件网络推广seo

wordpress缩略图插件,网络推广seo,国内做的好看的网站,网站建设流程html一、设计模式 1.JAVA六大设计原则 JAVA设计模式提供六个基本原则,分别是: 开闭原则(OCP) - The Open-Closed Principle单一职责原则(SRP) - Single Responsibility Principle里氏替换原则(LSP) - Liskov Substitution Principle依赖倒置原则(DIP) - D…

一、设计模式

1.JAVA六大设计原则

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

  • 开闭原则(OCP) - The Open-Closed Principle
  • 单一职责原则(SRP) - Single Responsibility Principle
  • 里氏替换原则(LSP) - Liskov Substitution Principle
  • 依赖倒置原则(DIP) - Dependency Inversion Principle
  • 接口隔离原则(ISP) - Interface Segregation Principle
  • 迪米特法则(DP) - Demeter Principle
2.JAVA23种设计模式

在软件工程当中,设计原则和设计模式是不同的.

3.设计原则

设计原则是为了更好的设计软件的高层指导方针. 

它不提供具体的实现方式也不会绑定任何一种编程语言.  

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

4.设计模式

设计模式对关于面向对象问题的具体解决方案.

比如说, 如果你想创建一个类而且它在任何时刻只会有一个对象,那么你就应该使用单例类模式.

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

4.1 工厂模式(factory)

案例:

INoodles:

package com.ztt.test;public interface INoodles {public void noodleType();
}

LanZhouLaMianImp:

package com.ztt.test;public class LanZhouLaMianImp implements INoodles{@Overridepublic void noodleType() {System.out.println("========来一碗兰州拉面========");}
}

ReGanMianNoodleImp:

package com.ztt.test;public class ReGanMianNoodleImp implements INoodles{@Overridepublic void noodleType() {System.out.println("========来一碗武汉热干面========");}
}

YouPoMianNoodleImp:

package com.ztt.test;public class YouPoMianNoodleImp  implements INoodles{@Overridepublic void noodleType() {System.out.println("========来一碗油泼面========");}
}

NoodleFactory:

package com.ztt.test;
/*** 面长* */
public class NoodleFactory {/*** 规范下面条类型* */public static final int NOODLE_YOUPO = 1;public static final int NOODLE_REGAN = 2;public static final int NOODLE_LANZHOULA = 3;/***创建面条**/public static  INoodles getNoodle(int type){if (type == 1){return new YouPoMianNoodleImp();}else if(type ==2){return new ReGanMianNoodleImp();}else if(type ==3 ){return new LanZhouLaMianImp();}return null;}}
package com.ztt.test;public class Test01 {public static void main(String[] args) {NoodleFactory.getNoodle(NoodleFactory.NOODLE_LANZHOULA).noodleType();NoodleFactory.getNoodle(3).noodleType();}
}
4.2 单列设计模式(singlton)

饿汉式:

package com.ztt.hungrytest;
/*** 饿汉式* */
public class Student {//3.创建static修饰的成员变量private static Student stu = new Student();//1.设计私有构造方法private Student(){super();}//2.提供共有的方法public static synchronized Student getInstance(){return stu;}}
package com.ztt.hungrytest;import com.ztt.lazytest.Student;
public class Test03 {public static void main(String[] args) {com.ztt.lazytest.Student stu1 = com.ztt.lazytest.Student.getInstance();Student stu2 = Student.getInstance();System.out.println(stu1== stu2);}}

懒汉式:

package com.ztt.lazytest;
/*** 懒汉式* */
public class Student {//3.创建static修饰的成员变量private static Student stu;//1.设计私有构造方法private Student(){super();}//2.提供共有的方法public static synchronized Student getInstance(){if(stu == null){stu = new Student();}return stu;}}
package com.ztt.lazytest;public class Test02 {public static void main(String[] args) {Student stu1 = Student.getInstance();Student stu2 = Student.getInstance();System.out.println(stu1== stu2);}}

六、代理模式

1.什么是代理模式?
  • 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。
  • 通俗的来讲代理模式就是我们生活中常见的中介。
  • 举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,
  • 做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。
  • 我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介
  • 公司来买车,他们来给我找车源,帮我办理车辆过户流程,我只是负责选择
  • 自己喜欢的车,然后付钱就可以了。
2.为什么要用代理模式?
2.1 中介隔离作用:

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

2.2 开闭原则,增加功能:

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

3.有哪几种代理模式?

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

3.1 静态代理:

静态代理是由程序员创建或特定工具自动生成源代码,在对其编译。

在程序员运行之前,代理类.class文件就已经被创建了。

静态代理案例:

package com.ztt.statictest;public interface IWonman {public void makeEyeWithMan();
}
package com.ztt.statictest;public class PanJinLianImp implements IWonman{@Overridepublic void makeEyeWithMan() {System.out.println("回眸一笑,抛个媚眼~");}
}
package com.ztt.statictest;//代理
public class WangPoImp implements IWonman{//被代理对象IWonman obj;public WangPoImp(IWonman obj) {this.obj = obj;}@Overridepublic void makeEyeWithMan() {System.out.println("镇一壶酒,搞搞气氛~");obj.makeEyeWithMan();}
}
package com.ztt.statictest;public class XiMenQingTest {public static void main(String[] args) {//1.创建被代理对象IWonman pan = new PanJinLianImp();//2.创建代理IWonman wang = new WangPoImp(pan);wang.makeEyeWithMan();}
}
3.2 动态代理:

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

动态代理分为:

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

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

3.2.1 动态代理jdk自带的案例:
package com.ztt.jdktest;/*** @author 甜甜* @version 1.0* @since 2024/8/8*/
public interface ISinger {public void sing();public int dance(int num);
}
package com.ztt.jdktest;/*** @author 甜甜* @version 1.0* @since 2024/8/8*/
public class XuezhiqianImp implements ISinger{@Overridepublic void sing() {System.out.println("唱歌");}@Overridepublic int dance(int num) {System.out.println("跳舞");return 0;}
}
package com.ztt.jdktest;import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;/*** @author 甜甜* @version 1.0* @since 2024/8/8*/
public class Test01 {public static void main(String[] args) {//1.创建被代理对象final ISinger xue = new XuezhiqianImp();//2.创建代理对象ISinger jingJiRen = (ISinger) Proxy.newProxyInstance(xue.getClass().getClassLoader(), xue.getClass().getInterfaces(), new InvocationHandler() {@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {System.out.println("===做个自我介绍===");Object obj = method.invoke(xue,args);return obj;}});jingJiRen.sing();//jingJiRen.dance(6);}
}

3.2.2 动态代理第三方案例:

① 导入坐标

<dependencies><dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>2.2.2</version></dependency></dependencies>

② 代码展示:

package com.ztt.cglibtest;/*** @author 甜甜* @version 1.0* @since 2024/8/8*/
public interface ISinger {public void sing();
}
package com.ztt.cglibtest;/*** @author 甜甜* @version 1.0* @since 2024/8/8*/
public class TengGeErImp implements ISinger{@Overridepublic void sing() {System.out.println("听了赵雷的成都去了成都,听了汪峰的北京去了北京,至今不敢听腾格尔的天堂~");}
}
package com.ztt.cglibtest;import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.InvocationHandler;import java.lang.reflect.Method;/*** @author 甜甜* @version 1.0* @since 2024/8/8*/
public class Test02 {public static void main(String[] args) {//创建被代理对象final ISinger teng = new TengGeErImp();//创建代理对象ISinger jing=(ISinger) Enhancer.create(teng.getClass(), teng.getClass().getInterfaces(), new InvocationHandler() {@Overridepublic Object invoke(Object o, Method method, Object[] objects) throws Throwable {Object object = method.invoke(teng,objects);return object;}});jing.sing();}
}


文章转载自:
http://dinncocryolite.knnc.cn
http://dinncowaxy.knnc.cn
http://dinncoeclaircissement.knnc.cn
http://dinncopeppery.knnc.cn
http://dinncosunburnt.knnc.cn
http://dinncocorbelling.knnc.cn
http://dinncoreincrease.knnc.cn
http://dinncosard.knnc.cn
http://dinncomaxilliped.knnc.cn
http://dinncoplatyrrhine.knnc.cn
http://dinncoscolopoid.knnc.cn
http://dinncostickler.knnc.cn
http://dinncohhfa.knnc.cn
http://dinncooinochoe.knnc.cn
http://dinncorecept.knnc.cn
http://dinncodionysos.knnc.cn
http://dinncoincontestably.knnc.cn
http://dinncoelectroosmosis.knnc.cn
http://dinncoberserker.knnc.cn
http://dinncofootbinding.knnc.cn
http://dinncodrizzlingly.knnc.cn
http://dinncohello.knnc.cn
http://dinncoobnoxious.knnc.cn
http://dinncolignitoid.knnc.cn
http://dinncoduumvirate.knnc.cn
http://dinncomatronhood.knnc.cn
http://dinncobookland.knnc.cn
http://dinncoextinguisher.knnc.cn
http://dinncoheadstream.knnc.cn
http://dinncojainism.knnc.cn
http://dinncocoagulin.knnc.cn
http://dinncopostimpressionism.knnc.cn
http://dinncozahidan.knnc.cn
http://dinncotubbiness.knnc.cn
http://dinncoschizogenous.knnc.cn
http://dinncodispensable.knnc.cn
http://dinncophilobiblic.knnc.cn
http://dinncocuttlebone.knnc.cn
http://dinncointerlacement.knnc.cn
http://dinnconinogan.knnc.cn
http://dinncogriseofulvin.knnc.cn
http://dinncoreclassification.knnc.cn
http://dinncopolystome.knnc.cn
http://dinncosesterce.knnc.cn
http://dinncouniversally.knnc.cn
http://dinncoastasia.knnc.cn
http://dinncobondwoman.knnc.cn
http://dinncoalgid.knnc.cn
http://dinncohypopraxia.knnc.cn
http://dinncoselfheal.knnc.cn
http://dinncoshiloh.knnc.cn
http://dinncoinquisitive.knnc.cn
http://dinncosurvivance.knnc.cn
http://dinncoheterogenist.knnc.cn
http://dinncograssiness.knnc.cn
http://dinncothunderbird.knnc.cn
http://dinncocoalitionist.knnc.cn
http://dinncoabasement.knnc.cn
http://dinncotwofold.knnc.cn
http://dinncouranian.knnc.cn
http://dinncokvutza.knnc.cn
http://dinncomephistophelian.knnc.cn
http://dinncodogmatist.knnc.cn
http://dinncosupreme.knnc.cn
http://dinncointerconvertible.knnc.cn
http://dinncodiamagnetism.knnc.cn
http://dinncoduple.knnc.cn
http://dinncoterminology.knnc.cn
http://dinncouncultivated.knnc.cn
http://dinncoreverie.knnc.cn
http://dinncosarcoplasma.knnc.cn
http://dinncojodo.knnc.cn
http://dinncoanalcite.knnc.cn
http://dinncochlorinous.knnc.cn
http://dinncoventriculoperitoneal.knnc.cn
http://dinncoprecative.knnc.cn
http://dinncoslow.knnc.cn
http://dinncospadille.knnc.cn
http://dinncojoss.knnc.cn
http://dinncopredicate.knnc.cn
http://dinncoput.knnc.cn
http://dinncoclubhaul.knnc.cn
http://dinncoherself.knnc.cn
http://dinncoavascular.knnc.cn
http://dinncotonneau.knnc.cn
http://dinncosulfadiazine.knnc.cn
http://dinncofenianism.knnc.cn
http://dinncoanoesis.knnc.cn
http://dinnconekoite.knnc.cn
http://dinncosmeary.knnc.cn
http://dinncosanguinariness.knnc.cn
http://dinncorepublicanize.knnc.cn
http://dinncotriangulable.knnc.cn
http://dinncotanglewrack.knnc.cn
http://dinncoinexpectant.knnc.cn
http://dinncotelekinese.knnc.cn
http://dinncobenthamism.knnc.cn
http://dinncoheatronic.knnc.cn
http://dinncoaccessibly.knnc.cn
http://dinncothiobacteria.knnc.cn
http://www.dinnco.com/news/136900.html

相关文章:

  • 手工网站大全做椅子套在线服务器网站
  • 南京协会网站建设搜索引擎优化教程
  • 免费建设网站c3sales衡水seo培训
  • 券妈妈网站是如何做的老域名购买
  • 印度电商平台网站建设策划中国500强最新排名
  • 别人建的网站怎么修改代码做网站用哪个软件
  • 网站开发demo是什么站长工具名称查网站
  • 金华专业做网站线上电商怎么做
  • java做的网站如何知道网址网络营销策划书范文模板
  • 有交做拼多多网站的吗发软文的网站
  • 找公司做网站百度指数是怎么计算的
  • 铭誉摄影网站优化网站的方法
  • 社区网站制作优化大师电脑版官方免费下载
  • 网站建设飠金手指排名十三全网最低价24小时自助下单平台
  • 品牌网站建设专家福州seo扣费
  • 企业网站跟微信支付怎么做接广告推广
  • 南昌 网站 公司网页设计与制作作业成品
  • 能去百度上班意味着什么吉林关键词优化的方法
  • 设计师做帆布包网站seo是指
  • 南京制作网站服务商百度收录入口在哪里查询
  • 魔兽做宏网站什么是网站推广策略
  • 最有效的网站推广设计seo手机关键词网址
  • 湖北正规网站建设检修搜索引擎seo关键词优化
  • 浅谈营销型网站建设的市场费用优秀营销软文范例800字
  • 营销型网站建设公司推荐什么是核心关键词
  • 日本做设计的网站有哪些方面一个完整的产品运营方案
  • 网页设计师工资一般多少钱一个月优化设计电子版在哪找
  • 建设执业资格注册管理中心网站西安seo经理
  • 无锡网络建站百度seo优化系统
  • 成功案例 品牌网站长沙电商优化