微商城手机网站制作公司,成功网站运营案例,怎么做网站流量竞品分析,移动端网站开发框架1、工厂方法模式#xff08;Factory Method Pattern#xff09;#xff1a;
定义一个用于创建对象的接口#xff0c;让子类决定实例化哪一个类。应用场景#xff1a;当一个类不知道它所必须创建的对象的类时#xff1b;一个类希望由它的子类来指定它所创建的对象时。 抽…1、工厂方法模式Factory Method Pattern
定义一个用于创建对象的接口让子类决定实例化哪一个类。应用场景当一个类不知道它所必须创建的对象的类时一个类希望由它的子类来指定它所创建的对象时。 抽象工厂模式Abstract Factory Pattern提供一个接口用于创建有关联或者依赖的对象簇而不需要明确指定具体类。应用场景当有多个相互依赖的对象簇需要创建时系统需要独立于它的产品的创建、组合和表示时。
2、单例模式Singleton Pattern
确保一个类只有一个实例并提供一个访问它的全局访问点。应用场景当一个类只需要一个实例时一个唯一的实例需要被访问的时候。
3、原型模式Prototype Pattern
用原型实例指定创建对象的种类并通过复制这个原型来创建新的对象。应用场景当对象的创建比较复杂或者需要一定的时间开销时一个系统应该独立于它的产品创建、组合和表示时。
4、建造者模式Builder Pattern
将一个复杂对象的构建过程与它的表示分离使得同样的构建过程可以创建不同的表示。应用场景当创建复杂对象的算法应该独立于该对象的组成部分以及其装配方式时需要更好的复用性和可读性。
5、适配器模式Adapter Pattern
将一个类的接口转换成客户希望的另外一个接口。应用场景当需要使用一个已有的类而它的接口不符合我们的要求时想要用一个已有的类但是它不是我们需要的接口时。
1、工厂方法模式 实现创建一个工厂接口具体工厂实现接口并返回对应产品的实例代码public interface Product {
}public class ConcreteProduct implements Product {
}public interface Factory {
Product createProduct();
}public class ConcreteFactory implements Factory {
public Product createProduct() {
return new ConcreteProduct();
}
}2、抽象工厂模式 实现创建一个抽象工厂接口具体工厂实现接口并返回对应产品族的实例代码public interface Button {
void display();
}public class WinButton implements Button {
public void display() {
System.out.println(WinButton);
}
}public class MacButton implements Button {
public void display() {
System.out.println(MacButton);
}
}public interface GUIFactory {
Button createButton();
}public class WinFactory implements GUIFactory {
public Button createButton() {
return new WinButton();
}
}public class MacFactory implements GUIFactory {
public Button createButton() {
return new MacButton();
}
}3、单例模式 实现使用静态方法getInstance()获取唯一的实例代码public class Singleton {
private static Singleton instance;private Singleton() {}public static Singleton getInstance() {
if (instance null) {
instance new Singleton();
}
return instance;
}
}4、原型模式创新模式
// 原型接口 public interface Prototype { public原型模式是通过复制Clone一个已有的对象来创建新的对象而不是通过实例化一个类来创建新对象。原型模式是创建型模式之一它提供了一种快捷创建对象的方法。
在Java中原型模式通过实现java.lang.Cloneable接口和重写Object类中的clone()方法来实现。如果一个类想要实现原型模式需要满足以下两个条件
实现Cloneable接口以告知Java虚拟机这个类可以被克隆。重写Object类中的clone()方法在其中调用super.clone()方法获取原型对象的副本然后将其返回。
下面是一个简单的示例 class Prototype implements Cloneable {
Override
public Prototype clone() throws CloneNotSupportedException {
return (Prototype) super.clone();
}
}class ConcretePrototype extends Prototype {
private String field;public String getField() {return field;
}public void setField(String field) {this.field field;
}}public class Client {
public static void main(String[] args) throws CloneNotSupportedException {
ConcretePrototype prototype new ConcretePrototype();
prototype.setField(123);ConcretePrototype clonedPrototype prototype.clone();System.out.println(clonedPrototype.getField()); // 123
}}/**在上面的代码中我们创建了一个ConcretePrototype类它继承了Prototype类并且实现了clone()方法。在client中我们创建了一个ConcretePrototype对象然后克隆它并打印出它的field属性值。由于我们实现了原型模式在克隆时field属性的值也被一同复制了。*/5、建造者模式 实现创建一个Builder接口指定构造顺序Builder实现类实现Builder接口将构建结果返回代码public class Product {
private String partA;
private String partB;
private String partC;public void setPartA(String partA) {
this.partA partA;
}public void setPartB(String partB) {
this.partB partB;
}public void setPartC(String partC) {
this.partC partC;
}
}public interface Builder {
void buildPartA();
void buildPartB();
void buildPartC();
Product getResult();
}public class ConcreteBuilder implements Builder {
private Product product new Product();