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

网站备案授权书填写模板宁波正规seo推广公司

网站备案授权书填写模板,宁波正规seo推广公司,什么类型的网站容易做,注册网站的免费网址是什么一、什么是工厂方法模式? 1.定义 在软件开发中,设计模式 是解决常见软件设计问题的最佳实践。而 工厂方法模式(Factory Method Pattern) 作为创建型设计模式之一,常常被用来解决对象创建问题。它通过将对象的创建交给…

一、什么是工厂方法模式?

1.定义

        在软件开发中,设计模式 是解决常见软件设计问题的最佳实践。而 工厂方法模式(Factory Method Pattern) 作为创建型设计模式之一,常常被用来解决对象创建问题。它通过将对象的创建交给子类来解耦代码,使得代码更具灵活性与扩展性。

        工厂方法模式定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法让一个类的实例化推迟到其子类。这种模式常用于类的实例化逻辑非常复杂,或者需要提供多种类型的实例,而又不希望让客户端代码直接接触到具体类的实现时。

2.工厂方法模式的结构

  • Product(产品接口):声明所有具体产品类需要实现的接口。
  • ConcreteProduct(具体产品类):实现 Product 接口的具体类。
  • Creator(创建者类):声明工厂方法,通常是抽象类或接口,用于创建 Product 对象。
  • ConcreteCreator(具体创建者类):实现 Creator 类,返回具体的 ConcreteProduct 对象。

3.工厂方法模式的优缺点

优点:

  • 解耦:工厂方法模式将产品的创建和使用分离,避免了客户端程序与具体产品类的紧密耦合。
  • 易扩展:新增产品类时,只需增加新的具体工厂类,客户端不需要修改,符合开闭原则。
  • 封装复杂性:创建对象的过程可以被封装在工厂中,客户端无需关心创建过程的细节。

缺点:

  • 增加代码量:每增加一个具体产品,都需要相应的具体工厂类,这会导致类的数量增多。
  • 客户端调用不方便:如果产品种类很多,工厂类会增多,客户端代码可能会变得复杂。

二、图形工厂示例

        为了更好地理解工厂方法模式,我们通过一个简单的图形绘制的例子来练习实现工厂方法模式。

1. 需求分析

        我们需要设计一个图形绘制程序,支持绘制多种类型的图形(如圆形、三角形等)。每种图形的创建逻辑不同,为了将图形的创建过程与客户端代码解耦,我们决定使用工厂方法模式。

2. 设计类结构

  • Shape接口:声明所有图形的绘制方法。
  • 具体图形类:如 CircleTriangle 等,实现 Shape 接口,定义图形的绘制行为。
  • 抽象工厂类 ShapeFactory:声明工厂方法 createShape(),用于创建图形。
  • 具体工厂类:如 CircleFactoryTriangleFactory,实现工厂方法并返回对应的图形对象。

3. 实现代码

        以下是我们实现的代码:

// 图形接口
public interface Shape {void draw();
}// 圆形类
public class Circle implements Shape {@Overridepublic void draw() {System.out.println("画了一个圆");}
}// 三角形类
public class Triangle implements Shape {@Overridepublic void draw() {System.out.println("画了一个三角形");}
}// 抽象工厂类
public abstract class ShapeFactory {public abstract Shape createShape();  // 工厂方法
}// 圆形工厂
public class CircleFactory extends ShapeFactory {@Overridepublic Shape createShape() {return new Circle();}
}// 三角形工厂
public class TriangleFactory extends ShapeFactory {@Overridepublic Shape createShape() {return new Triangle();}
}// 测试类
public class TestMethodFactory {public static void main(String[] args) {ShapeFactory circleFactory = new CircleFactory();Shape circle = circleFactory.createShape();circle.draw();  // 绘制圆形ShapeFactory triangleFactory = new TriangleFactory();Shape triangle = triangleFactory.createShape();triangle.draw();  // 绘制三角形}
}

4. 运行结果

        当我们运行 TestMethodFactory 类时,会得到如下输出:

画了一个圆

画了一个三角形

5. 分析

  • ShapeFactory 类作为抽象工厂类,声明了 createShape() 方法,具体的工厂类 CircleFactoryTriangleFactory 实现了这个方法,分别返回了不同的图形对象。
  • TestMethodFactory 类作为客户端,使用了不同的工厂来创建不同的图形对象,而无需关注图形的具体创建过程。

6. 总结

        通过本次练习,我们深入了解了工厂方法模式的应用。工厂方法模式通过将对象创建逻辑交给子类来实现,使得代码更加解耦,易于扩展。如果以后需要增加新的图形类型,只需添加新的工厂类和对应的图形类,而不需要修改客户端代码。这种设计模式符合 开闭原则,能够使代码在面对变化时更加灵活。


三、总结与反思

  • 工厂方法模式帮助我们解决了创建对象的问题,将对象的创建交给工厂方法,避免了客户端直接依赖于具体的实现类。
  • 它使得我们能够灵活地扩展系统功能,如需要增加新的图形类型,只需添加新的工厂类。
  • 通过工厂方法模式,客户端无需知道具体的创建逻辑,只关心工厂返回的产品对象,从而简化了代码的使用和维护。

如果你对工厂方法模式有任何疑问或想法,欢迎在评论区留言交流!


希望这篇博客能帮助你更好地理解工厂方法模式。如果你有任何问题,或者想要更多的设计模式实例,请随时向我提问!

http://www.ritt.cn/news/2945.html

相关文章:

  • 微网站作用宁波seo搜索引擎优化公司
  • 科大讯飞哪些做教学资源的网站seo排名优化方式
  • 我做百度_上面有手机网站的_为什么还要做手机网站网页在线代理翻墙
  • 自己做网站可以用私有云吗seo 服务
  • 网站风格特点百度搜索优化平台
  • facebook做网站推广安卓优化大师全部版本
  • 以公司做网站如何做企业网页
  • 威海精神文明建设办公室网站近三天重大新闻摘抄
  • 网站关停公告怎么做今日重点新闻
  • 卖网格布怎样做网站电脑优化软件哪个好用
  • 上海专业高端网站建设服务公司河北关键词seo排名
  • 维基百科建设网站产品推广营销
  • 番禺网站建设开发竞价如何屏蔽恶意点击
  • 开封淘宝网站建设百度推广一个月多少钱
  • 企业咨询服务合同模板免费seo咨询服务价格
  • 公司网站招聘费如何做会计分录中国国家培训网正规吗
  • 如何做直播做菜视频网站哪个公司要做网络推广
  • 行业自助建站优化营商环境条例心得体会
  • 如何做一个网站平台房地产销售
  • wordpress建售卖产品的网站线上培训平台
  • 做网站排名软件1688如何搜索关键词排名
  • 网站建设季度考核评价工作总结山西疫情最新情况
  • gta5网站建设中站长之家app
  • 网站广告位代码黑马培训价目表
  • 中小企业网站制作过程中要注意什么网络销售怎么做才能做好
  • php网站设计杭州百度优化
  • 网站推广公司傻大白nba最新消息交易情况
  • 中国空间站航天员首次出舱网络运营培训
  • 想做个网站 怎么做的做一个电商平台大概需要多少钱
  • 二级已备案域名免费使用关于华大18年专注seo服务网站制作应用开发