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

网站制做工具乐天seo视频教程

网站制做工具,乐天seo视频教程,无锡便宜做网站,网站建设类合同范本单例模式:确保唯一实例单例模式的核心目标是确保一个类在整个应用程序中只有一个实例,并提供一个全局访问点。实现方式饿汉式单例:public class Runtime {private static Runtime currentRuntime new Runtime();public static Runtime getRu…

单例模式:确保唯一实例

单例模式的核心目标是确保一个类在整个应用程序中只有一个实例,并提供一个全局访问点。

实现方式

饿汉式单例

public class Runtime {private static Runtime currentRuntime = new Runtime();public static Runtime getRuntime() {return currentRuntime;}private Runtime() {}
}
  • 优点:线程安全,实现简单

  • 缺点:类加载时就创建实例,可能延长启动时间

懒汉式单例(双重检查锁定)

public class Window {private volatile static Window window = null;private Window() {}public static Window getWindow() {if(window == null) {synchronized (Window.class) {if(window == null) {window = new Window();}}}return window;}
}
  • volatile关键字防止指令重排序

  • 双重检查减少同步开销

  • 优点:延迟加载,节省资源

  • 缺点:实现稍复杂

工厂模式:对象创建的艺术

工厂模式解决对象创建的问题,分为简单工厂、工厂方法和抽象工厂三种形式。

1. 简单工厂

public class CanFactory {public static Can createCan(String name) {if(name.equals("aodi")) return new Aodi();if(name.equals("bmw")) return new Bmw();if(name.equals("dazhong")) return new Dazhong();return null;}
}
  • 优点:集中管理对象创建

  • 缺点:违反开闭原则,新增产品需要修改工厂代码

2. 工厂方法

public abstract class Factory {public abstract Product createProduct();
}

  • 为每个产品提供一个专门工厂

  • 优点:符合开闭原则,扩展性好

  • 缺点:类数量增多

3. 抽象工厂

public interface AbstractFactory {Button createButton();Checkbox createCheckbox();
}

  • 一个工厂可以创建同一产品族的不同产品

  • 适合产品族扩展场景

  • 例如:汽车工厂生产轿车、SUV等多类型车辆

模版方法模式:定义算法骨架

abstract class Template {// 模版方法定义流程public final void templateMethod() {step1();step2();step3();}// 固定实现private void step1() { /*...*/ }// 需要子类实现protected abstract void step2();// 可选实现protected void step3() { /*默认实现*/ }
}
  • 优点:代码复用,反向控制

  • 缺点:增加系统复杂度

代理模式:控制对象访问

1. 静态代理

interface Subject {void request();
}class RealSubject implements Subject {public void request() { /*业务逻辑*/ }
}class Proxy implements Subject {private RealSubject realSubject;public void request() {preRequest();realSubject.request();postRequest();}
}
  • 优点:不修改目标对象即可扩展功能

  • 缺点:一个代理类只能代理一种类型

2. 动态代理

JDK动态代理

// JDK 动态代理
Proxy.newProxyInstance(target.getClass().getClassLoader(),target.getClass().getInterfaces(),(proxy, method, args) -> {// 前置处理Object result = method.invoke(target, args);// 后置处理return result;});
  • 要求目标类必须实现接口

CGLIB代理

  • 通过生成子类实现代理

  • 不要求目标类实现接口

  • Spring AOP默认使用方式

总结

设计模式是解决特定问题的优秀实践:

  1. 单例模式确保全局唯一实例

  2. 工厂模式封装对象创建过程

  3. 模版方法模式固定算法流程

  4. 代理模式控制对象访问

合理运用这些模式可以使代码更灵活、更易维护,但也要避免过度设计。根据实际场景选择最适合的模式才是关键。

http://www.dtcms.com/wzjs/3123.html

相关文章:

  • 怎样与其它网站做友情链接中国十大广告公司排行榜
  • 男女做暖暖不要钱的试看网站网页设计制作网站教程
  • 一个网站绑定多个域名 卖域名重庆seo网页优化
  • 自己建设网站怎么做seo自学教程推荐
  • 专业的网站建设服务网站备案查询工信部官网
  • 分类信息网站平台的推广网络广告有哪些
  • 做网站花都互联网营销是什么意思
  • 做网站分前台后端吗重庆seo网络优化师
  • 华为云免费云服务器南安seo
  • 网站模板在线演示怎么做奇零seo赚钱培训
  • 南昌网站建设品牌百度热搜关键词
  • 钓鱼网站的主要危害病毒式营销的案例
  • 做网站应该做到那几点职业培训学校加盟
  • 他城任我做王14码中特网站app开发费用标准
  • 校园门户网站系统建设重庆seo职位
  • 潍坊建设网站360搜索建站
  • 建设网站6980块钱贵吗百度竞价开户费用
  • 自考网站建设与实践百度网页版进入
  • 下载个网上销售网站推广
  • 吉林网站建设制作公司网络营销推广方案
  • 深圳网站开发哪个公司好内容营销的4个主要方式
  • 深圳品牌产品设计公司网站优化和网站推广
  • java和php做网站谁好百度seo关键词优化市场
  • wordpress source上海seo顾问
  • 深圳市手机网站建设怎么样市场营销策划案例经典大全
  • 沧州网站开发新乡seo公司
  • 进去了搜索优化推广公司
  • 溧水城市建设招标网站社区营销
  • 互联网公司营业执照经营范围池州网站seo
  • 太原企业自助建站网站开发公司哪家好