前端三大类设计模式学习
如我们所熟悉的设计模式通常被分为三大类创建型模式、结构型模式和行为型模式。每一种类型的设计模式都解决了软件设计中的不同方面的问题。创建型模式关注的是对象的创建机制目的是找到一种方法既能创建对象又能在系统中保持合适的控制。这类模式有助于创建对象的过程更加灵活和可扩展。结构型模式关注如何组合类或对象构成更大的结构它侧重于简化类或对象的接口以及如何将类或对象结合在一起形成更大的结构。行为型模式关注的是对象之间的职责分配以及如何让对象相互作用来完成任务。假如你是一个杂货店老板你需要从不同的供应商那里进货。假设你需要订购牛奶、面包和其他商品。你可以联系不同的工厂来获得这些商品。如果没有工厂货物从哪里来呢要么你自己学会制作这些产品要么你去联系不同的人拼凑出制作这个产品的流水线。这两种方式都不是那么容易。在程序设计中如果没有工厂模式帮助我们创建复杂对象。那么当客户端需要使用某个对象时客户端就需要自己创建或者从其他类中拼凑出这个对象。而有了工厂模式就只需要和工厂打交道即可。无论产品多么复杂创建流程都在工厂里完成了。// 定义产品接口 interface Product { String getProductName(); double getPrice(); } // 定义具体产品 class Milk implements Product { Override public String getProductName() { return Milk; } Override public double getPrice() { return 2.50; } } class Bread implements Product { Override public String getProductName() { return Bread; } Override public double getPrice() { return 1.50; } } // 抽象工厂 interface SupplierFactory { Product supplyProduct(); } // 具体工厂 class DairyProductsFactory implements SupplierFactory { Override public Product supplyProduct() { return new Milk(); } } class BakeryFactory implements SupplierFactory { Override public Product supplyProduct() { return new Bread(); } } // 使用示例 public class Main { public static void main(String[] args) { SupplierFactory dairyFactory new DairyProductsFactory(); Product milk dairyFactory.supplyProduct(); System.out.println(milk.getProductName() price: milk.getPrice()); SupplierFactory bakeryFactory new BakeryFactory(); Product bread bakeryFactory.supplyProduct(); System.out.println(bread.getProductName() price: bread.getPrice()); } }运行程序输出如下Milk price: 2.5 Bread price: 1.5你学会了吗