Java中工厂模式的介绍及应用
十载的三江侗网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整三江侗建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“三江侗网站设计”,“三江侗网站推广”以来,每个客户项目都认真落实执行。
工厂模式简介
工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,而是通过使用一个共同的接口来指向新创建的对象。
优点:
1、封装性:用户不需要知道产品内部的逻辑,只需要知道产品的接口即可。
2、扩展性:当需要新增产品时,只需要增加相应的工厂类和产品类,无需修改原有代码。
3、灵活性:可以根据不同的输入参数,动态决定应该创建哪一个产品类的实例。
工厂模式的结构
在Java中,工厂模式通常涉及到以下四个角色:
1、Product(产品):定义产品的接口或抽象类。
2、ConcreteProduct(具体产品):实现Product接口的具体类。
3、Factory(工厂):定义创建产品的接口。
4、ConcreteFactory(具体工厂):实现Factory接口的具体类,根据不同条件生成不同的产品。
应用示例
以下是一个简单的Java工厂模式示例:
产品接口和具体产品
我们定义一个产品接口Shape
和一个具体的产品类Rectangle
。
public interface Shape { void draw(); } public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); } }
工厂接口和具体工厂
我们定义一个工厂接口ShapeFactory
和一个具体的工厂类RectangleFactory
。
public interface ShapeFactory { Shape getShape(String shapeType); } public class RectangleFactory implements ShapeFactory { @Override public Shape getShape(String shapeType) { if(shapeType == null) { return null; } if(shapeType.equalsIgnoreCase("RECTANGLE")) { return new Rectangle(); } return null; } }
使用工厂创建产品
我们可以使用RectangleFactory
来创建Rectangle
对象。
public class FactoryPatternDemo { public static void main(String[] args) { ShapeFactory shapeFactory = new RectangleFactory(); Shape shape1 = shapeFactory.getShape("RECTANGLE"); shape1.draw(); } }
在这个例子中,当我们调用shapeFactory.getShape("RECTANGLE")
时,会返回一个新的Rectangle
对象,然后我们可以调用其draw
方法,如果需要添加新的产品类型,只需要添加新的产品类和对应的工厂类即可,无需修改原有代码。
分享标题:Java中工厂模式的介绍及应用(java中工厂模式的介绍及应用方法)
网页URL:http://www.mswzjz.com/qtweb/news20/194320.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联