classConcreteFactory1implementsAbstractFactory{ publicProductnewProduct() { System.out.println("具体工厂1生成-->具体产品1..."); returnnewConcreteProduct1(); } } //具体工厂2:实现了厂品的生成方法 classConcreteFactory2implementsAbstractFactory{ publicProductnewProduct() { System.out.println("具体工厂2...
publicclassSendFactory {publicSender produceMail(){returnnewMailSender(); }publicSender produceSms(){returnnewSmsSender(); } }//测试类如下:[java] view plaincopypublicclassFactoryTest {publicstaticvoidmain(String[] args) { SendFactory factory=newSendFactory(); Sender sender=factory.produceMail(); ...
public class ExportFinancialHtmlFile implements ExportFile{ @Override public boolean export(String data) { // TODO Auto-generated method stub /** * 业务逻辑 */ System.out.println("导出财务版HTML文件"); return true; } } public class ExportFinancialPdfFile implements ExportFile{ @Override public ...
class Circle implements Shape { @Override public void draw() { System.out.println("画一个圆形"); } } // 定义 Rectangle 类实现 Shape 接口 class Rectangle implements Shape { @Override public void draw() { System.out.println("画一个矩形"); } } // 定义 ShapeFactory 工厂类 class ShapeFacto...
publicclassClient{publicstaticvoidmain(String[]args){Creatorcreator=newConcreCreator();Productproduct=creator.createProduct(ConcreteProduct2.class);product.method2();/** * 继续业务处理 */}} 替代单例模式 importjava.lang.reflect.Constructor;publicclassSingletonFactory{privatestaticSingleton singleton;static{...
Logger LOGGER = LoggerFactory.getLogger(XX.class)这句话中的Logger和LoggerFactory都是slf4j包中的,我们知道java支持的日志打印方式挺多的,slf4j只是相当于一个门面,背后的实际实现方式挺多,比如log4j, log4j2, logback,JDK 1.4 logging等。以log4j2为例,slf4j和log4j2是如何联系起来的呢,这里的关键点就是Static...
package com.lyz.design.factorymethod;/*** 测试类* @author liuyazhuang**/public class Test {public static void main(String[] args) {IWorkFactory studentWorkFactory = new StudentWorkFactory();studentWorkFactory.getWork().doWork();IWorkFactory teacherWorkFactory = new TeacherWorkFactory();teacher...
public class Client { public static void main(String[] args) { AnimalFactory factory = new DefaultAnimalFactory(); Animal dog = factory.createDog(); dog.makeSound(); Animal cat = factory.createCat(); cat.makeSound(); } } 这样,我们就可以通过工厂类创建一组相关的对象,而不需要直接创建具体...
public class Client { public static void main(String[] args) { AnimalFactory factory = new DefaultAnimalFactory(); Animal dog = factory.createDog(); dog.makeSound(); Animal cat = factory.createCat(); cat.makeSound(); } } 这样,我们就可以通过工厂类创建一组相关的对象,而不需要直接创建具体...
public class ContoneseCuisine extends Cuisine{ @Override public String processing() { return "粵菜烹調加工"; } @Override public String purchase() { return "粵菜原料採購"; } @Override public String vendition() { return "粵菜成品銷售";