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

网站后台关键词链接怎样做查排名

网站后台关键词链接怎样做,查排名,seo优化百度seo谷歌seo外贸推广网站seo优化运,使用webp的网站3W 学习法总结创建型模式(附 Java 代码实战及开源框架应用) 创建型模式主要关注 对象的创建,旨在提高代码的可复用性、可扩展性和灵活性。本文采用 3W 学习法(What、Why、How),深入分析 五大创建型模式&am…

3W 学习法总结创建型模式(附 Java 代码实战及开源框架应用)

创建型模式主要关注 对象的创建,旨在提高代码的可复用性、可扩展性和灵活性。本文采用 3W 学习法(What、Why、How),深入分析 五大创建型模式:单例、工厂方法、抽象工厂、建造者和原型模式,并结合 Java 代码实战开源框架中的应用,帮助你高效掌握创建型模式。


1. 单例模式(Singleton)

✅ What:单例模式是什么?

单例模式 确保一个类只有一个实例,并提供一个全局访问点。它常用于 共享资源管理、线程池、日志管理 等场景。

🤔 Why:为什么要使用单例模式?

  • 节省资源:避免创建多个实例,减少内存占用。
  • 全局访问:提供唯一实例,适用于缓存、配置管理等。
  • 控制实例化:防止重复创建对象,提升系统性能。

🚀 How:如何实现单例模式?(Java 代码实战)

双重检查锁实现线程安全单例

public class Singleton {private static volatile Singleton instance;private Singleton() {} // 私有构造函数public static Singleton getInstance() {if (instance == null) { synchronized (Singleton.class) {if (instance == null) { instance = new Singleton();}}}return instance;}
}

📌 在开源框架中的应用:

  • Spring 的 Bean 作用域:默认情况下,Spring Bean 是单例模式 (@Scope("singleton"))。
  • Runtime.getRuntime():Java 的 Runtime 类是单例模式的典型应用。

2. 工厂方法模式(Factory Method)

✅ What:工厂方法模式是什么?

工厂方法模式 通过 定义一个抽象工厂接口,让子类决定实例化哪个类,从而实现 面向接口编程

🤔 Why:为什么要使用工厂方法?

  • 解耦:调用者无需关心具体实现,依赖抽象工厂。
  • 符合开闭原则:新增产品无需修改原工厂,只需创建新的子类工厂。

🚀 How:如何实现工厂方法?(Java 代码实战)

// 抽象产品
interface Product {void use();
}// 具体产品A
class ProductA implements Product {public void use() { System.out.println("使用产品A"); }
}// 抽象工厂
interface Factory {Product createProduct();
}// 具体工厂A
class FactoryA implements Factory {public Product createProduct() { return new ProductA(); }
}// 客户端调用
public class FactoryMethodDemo {public static void main(String[] args) {Factory factory = new FactoryA();Product product = factory.createProduct();product.use(); // 输出: 使用产品A}
}

📌 在开源框架中的应用:

  • Spring BeanFactory:Spring 通过 BeanFactory 采用工厂方法模式管理 Bean 的创建。
  • JDBC 驱动加载DriverManager.getConnection() 通过工厂方法获取不同数据库驱动。

3. 抽象工厂模式(Abstract Factory)

✅ What:抽象工厂模式是什么?

抽象工厂模式 提供一个 接口,用于创建 一系列相关或相互依赖的对象,而无需指定其具体类。

🤔 Why:为什么要使用抽象工厂?

  • 产品族管理:能创建 一整套相关产品,适用于 GUI 组件、数据库连接等场景。
  • 保证产品兼容性:不同产品族之间不会互相影响。

🚀 How:如何实现抽象工厂模式?(Java 代码实战)

// 抽象产品A
interface Button { void click(); }// 具体产品A1
class MacButton implements Button {public void click() { System.out.println("Mac 按钮点击"); }
}// 抽象工厂
interface GUIFactory {Button createButton();
}// 具体工厂:Mac 工厂
class MacFactory implements GUIFactory {public Button createButton() { return new MacButton(); }
}// 客户端调用
public class AbstractFactoryDemo {public static void main(String[] args) {GUIFactory factory = new MacFactory();Button button = factory.createButton();button.click(); // 输出: Mac 按钮点击}
}

📌 在开源框架中的应用:

  • Spring ApplicationContext:Spring 使用 ApplicationContext 作为抽象工厂,创建和管理 Bean。
  • 数据库连接池:如 javax.sql.DataSource 负责创建数据库连接对象。

4. 建造者模式(Builder)

✅ What:建造者模式是什么?

建造者模式 通过 一步步构建复杂对象,并支持 链式调用,适用于 对象参数较多的场景

🤔 Why:为什么要使用建造者模式?

  • 解决构造函数参数过多的问题,避免冗长的构造函数。
  • 链式调用 使代码更简洁,提高可读性。

🚀 How:如何实现建造者模式?(Java 代码实战)

class Computer {private String CPU;private int RAM;public static class Builder {private String CPU;private int RAM;public Builder setCPU(String CPU) { this.CPU = CPU; return this; }public Builder setRAM(int RAM) { this.RAM = RAM; return this; }public Computer build() { return new Computer(this); }}private Computer(Builder builder) {this.CPU = builder.CPU;this.RAM = builder.RAM;}
}// 客户端调用
public class BuilderDemo {public static void main(String[] args) {Computer computer = new Computer.Builder().setCPU("Intel i9").setRAM(32).build();System.out.println("电脑构造完成");}
}

📌 在开源框架中的应用:

  • Lombok @Builder 注解:简化 Java 对象构造。
  • StringBuilderStringBuilder.append() 采用建造者模式。

5. 原型模式(Prototype)

✅ What:原型模式是什么?

原型模式 通过 克隆现有对象 来创建新对象,而不是直接实例化。

🤔 Why:为什么要使用原型模式?

  • 提高性能:避免重复创建对象,适用于对象初始化成本高的场景。
  • 避免复杂构造:直接复制已有对象,减少对象创建的复杂度。

🚀 How:如何实现原型模式?(Java 代码实战)

class Prototype implements Cloneable {String name;public Prototype(String name) { this.name = name; }@Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();}
}// 客户端调用
public class PrototypeDemo {public static void main(String[] args) throws CloneNotSupportedException {Prototype p1 = new Prototype("原型对象");Prototype p2 = (Prototype) p1.clone();System.out.println("克隆成功: " + p2.name);}
}

📌 在开源框架中的应用:

  • Spring Bean 作用域 @Scope("prototype"):每次获取 Bean 时都会克隆新实例。
  • java.lang.Object#clone():标准 Java 克隆机制。

总结

设计模式主要作用适用场景
单例模式保证唯一实例日志管理、数据库连接池
工厂方法解耦对象创建JDBC、Spring BeanFactory
抽象工厂创建产品族GUI 组件、数据库连接
建造者复杂对象构建Lombok @Builder、StringBuilder
原型模式克隆对象Spring @Scope("prototype")

这五种创建型模式各有特点,结合实际项目,能让代码更加灵活、可维护! 🚀

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

相关文章:

  • 商城网站开发需要哪些人员电商卖货平台有哪些
  • 知识网站域名停靠网页app推广大全
  • 导航网址网站怎么做seosem是指什么意思
  • 医院网站制作广告策划书
  • 网站域名选择的原则安卓优化大师最新版下载
  • 自己做的网站别人免费网站推广软文发布
  • 一手房哪个网站做信息效果好石家庄做网站推广排名的公司
  • 企业建设网站公司深圳外贸推广公司
  • wordpress域名解析西安seo网站管理
  • 那些网站反爬做的好网络营销ppt怎么做
  • 郑州专业的网站建设全球搜官网
  • 石家庄城乡建设网站北京网
  • 网站怎么找的软文撰写案例
  • 如何做英文网站的外链网络优化
  • 网站的建设技术有哪些近日发生的重大新闻
  • 哈尔滨市香坊区建设局网站seo精准培训课程
  • 搜索引擎作弊的网站有哪些北京seo公司公司
  • 旅游网站制作方案朋友圈软文
  • 专业营销型网站建设专业网店推广
  • 自己建网站卖东西怎么样系统开发
  • 网站建设目的和功能定位学大教育培训机构电话
  • 莱芜百度网站制作seo搜索优化排名
  • 河北明迈特的网站在哪里做的seoul是什么国家
  • 深圳自适应网站推广价格全国疫情高峰感染高峰
  • 临朐网站制作最低价格郑州粒米seo顾问
  • 电子商务网站的规划与建设论文百度文库网页版
  • 巨腾外贸网站建设公司优化设计方法
  • 自己做网站需要服务器吗网络销售
  • 找人做网站一套多少钱网络营销的六大特征
  • 商丘做网站多少钱上海外贸网站seo