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

申请网站空间怎么做百度抓取网站图片

申请网站空间怎么做,百度抓取网站图片,jsp网站开发与数据库连接,搭建网站用什么框架引言 工厂方法模式#xff08;Factory Method Pattern#xff09;是一种创建型设计模式#xff0c;它定义了一个创建对象的接口#xff0c;但由子类决定实例化哪一个类。工厂方法模式使得类的实例化延迟到子类。在金融业务中#xff0c;工厂方法模式可以用于创建不同类型…引言 工厂方法模式Factory Method Pattern是一种创建型设计模式它定义了一个创建对象的接口但由子类决定实例化哪一个类。工厂方法模式使得类的实例化延迟到子类。在金融业务中工厂方法模式可以用于创建不同类型的交易对象、日志对象等避免客户端代码直接依赖具体类。本文将介绍工厂方法模式在金融业务中的使用并探讨其在Spring框架中的实现方式。 设计原理 工厂方法模式主要涉及以下几个角色 抽象工厂Creator声明工厂方法该方法返回一个产品。具体工厂Concrete Creator实现工厂方法返回具体产品实例。产品接口Product定义产品的接口。具体产品Concrete Product实现产品接口提供具体产品的实现。 类图 下图展示了工厂方法模式的类图 #mermaid-svg-fdUd0hP3PH8xku7y {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-fdUd0hP3PH8xku7y .error-icon{fill:#552222;}#mermaid-svg-fdUd0hP3PH8xku7y .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-fdUd0hP3PH8xku7y .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-fdUd0hP3PH8xku7y .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-fdUd0hP3PH8xku7y .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-fdUd0hP3PH8xku7y .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-fdUd0hP3PH8xku7y .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-fdUd0hP3PH8xku7y .marker{fill:#333333;stroke:#333333;}#mermaid-svg-fdUd0hP3PH8xku7y .marker.cross{stroke:#333333;}#mermaid-svg-fdUd0hP3PH8xku7y svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-fdUd0hP3PH8xku7y g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-fdUd0hP3PH8xku7y g.classGroup text .title{font-weight:bolder;}#mermaid-svg-fdUd0hP3PH8xku7y .nodeLabel,#mermaid-svg-fdUd0hP3PH8xku7y .edgeLabel{color:#131300;}#mermaid-svg-fdUd0hP3PH8xku7y .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-fdUd0hP3PH8xku7y .label text{fill:#131300;}#mermaid-svg-fdUd0hP3PH8xku7y .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-fdUd0hP3PH8xku7y .classTitle{font-weight:bolder;}#mermaid-svg-fdUd0hP3PH8xku7y .node rect,#mermaid-svg-fdUd0hP3PH8xku7y .node circle,#mermaid-svg-fdUd0hP3PH8xku7y .node ellipse,#mermaid-svg-fdUd0hP3PH8xku7y .node polygon,#mermaid-svg-fdUd0hP3PH8xku7y .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-fdUd0hP3PH8xku7y .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-fdUd0hP3PH8xku7y g.clickable{cursor:pointer;}#mermaid-svg-fdUd0hP3PH8xku7y g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-fdUd0hP3PH8xku7y g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-fdUd0hP3PH8xku7y .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-fdUd0hP3PH8xku7y .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-fdUd0hP3PH8xku7y .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-fdUd0hP3PH8xku7y .dashed-line{stroke-dasharray:3;}#mermaid-svg-fdUd0hP3PH8xku7y #compositionStart,#mermaid-svg-fdUd0hP3PH8xku7y .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-fdUd0hP3PH8xku7y #compositionEnd,#mermaid-svg-fdUd0hP3PH8xku7y .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-fdUd0hP3PH8xku7y #dependencyStart,#mermaid-svg-fdUd0hP3PH8xku7y .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-fdUd0hP3PH8xku7y #dependencyStart,#mermaid-svg-fdUd0hP3PH8xku7y .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-fdUd0hP3PH8xku7y #extensionStart,#mermaid-svg-fdUd0hP3PH8xku7y .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-fdUd0hP3PH8xku7y #extensionEnd,#mermaid-svg-fdUd0hP3PH8xku7y .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-fdUd0hP3PH8xku7y #aggregationStart,#mermaid-svg-fdUd0hP3PH8xku7y .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-fdUd0hP3PH8xku7y #aggregationEnd,#mermaid-svg-fdUd0hP3PH8xku7y .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-fdUd0hP3PH8xku7y .edgeTerminals{font-size:11px;}#mermaid-svg-fdUd0hP3PH8xku7y :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Creator factoryMethod() ConcreteCreatorA factoryMethod() ConcreteCreatorB factoryMethod() Product use() ConcreteProductA use() ConcreteProductB use() 工厂方法模式在金融业务中的应用 1. 交易对象的创建 在金融系统中不同类型的交易对象可能具有不同的属性和行为。可以使用工厂方法模式来创建这些交易对象。 // 产品接口 public interface Trade {void execute(); }// 具体产品类A public class EquityTrade implements Trade {Overridepublic void execute() {System.out.println(Executing equity trade);} }// 具体产品类B public class BondTrade implements Trade {Overridepublic void execute() {System.out.println(Executing bond trade);} }// 抽象工厂类 public abstract class TradeFactory {public abstract Trade createTrade(); }// 具体工厂类A public class EquityTradeFactory extends TradeFactory {Overridepublic Trade createTrade() {return new EquityTrade();} }// 具体工厂类B public class BondTradeFactory extends TradeFactory {Overridepublic Trade createTrade() {return new BondTrade();} }// 客户端代码 public class FactoryMethodPatternDemo {public static void main(String[] args) {TradeFactory equityFactory new EquityTradeFactory();Trade equityTrade equityFactory.createTrade();equityTrade.execute();TradeFactory bondFactory new BondTradeFactory();Trade bondTrade bondFactory.createTrade();bondTrade.execute();} }工厂方法模式在Spring框架中的应用 Spring Bean 的工厂方法 在Spring框架中工厂方法模式通过Bean注解和工厂方法得到了广泛应用特别是用于复杂对象的创建。 1. Spring 工厂方法配置示例 Configuration public class AppConfig {Beanpublic TradeFactory tradeFactory() {return new EquityTradeFactory(); // 可以根据需要返回不同的具体工厂}Beanpublic Trade trade(TradeFactory tradeFactory) {return tradeFactory.createTrade();} }2. 使用工厂方法创建Bean示例 public class SpringFactoryMethodDemo {public static void main(String[] args) {ApplicationContext context new AnnotationConfigApplicationContext(AppConfig.class);Trade trade context.getBean(Trade.class);trade.execute(); // 输出Executing equity trade} }总结 工厂方法模式在金融业务中具有广泛的应用可以灵活地实现各种交易对象的创建避免客户端代码直接依赖具体类。在Spring框架中工厂方法模式通过Bean注解和工厂方法得到了广泛应用使得系统更具灵活性和可扩展性。 参考文献 Refactoring Guru - Factory Method PatternSpring Documentation - Bean Annotation 互动与反馈 如果你觉得这篇文章对你有帮助请点赞、收藏并关注我以便获得更多优质内容如有疑问或建议欢迎在评论区留言我会及时回复。感谢阅读 希望这对你有帮助如果你有其他设计模式需要了解请告诉我。
http://www.dnsts.com.cn/news/169481.html

相关文章:

  • 中国建设银行大沥网站游戏开发大亨下载
  • 深圳 网站建设培训学校wordpress首页制作
  • 广元专业高端网站建设网站模板功能
  • 网站建设捌金手指花总四wordpress伪静态标签
  • 建设网站论坛网站做镜像检查漏洞
  • 企业站seo案例分析logo在线设计软件
  • 网站建设企业邮箱制作网站深圳外贸网站外贸网站建设
  • 中国机械加工网站官网虚拟主机wordpress安装教程
  • wordpress 3.2淮安做网站seo
  • 潍坊网站建设选聚搜网络动易网站 模板
  • 吃的网站要怎么做的怎么评判一个网站做的好与坏
  • 怎么做服务器网站公司名字大全20000个免费
  • 济源做网站怎么收费简易网站
  • 做图片的网站都有哪些宁波工业设计最好的公司
  • 企业网站免费建设做网站怎么写预算
  • 网站建设简介是什么微博通 wordpress
  • 大数据统计网站wordpress无法下载更新
  • 游戏开发软件免费下载怎么做网站优化
  • 北京做网站哪家便宜泊头在哪做网站比较好
  • 建设银行网站钓鱼网站wordpress清理插件哪个好
  • 马鞍山网站建设哪里有网页设计零基础学习课程
  • 什么网站推广比较好查询成绩的网站怎么做
  • 新手如何建网站深圳设计公司最新招聘
  • 深圳小企业网站建设设计制作温州市城乡建设信息港
  • 个人网站做得优秀的聊城开发区网络公司排名
  • 羊毛网站建设视频西安网站制作排名
  • 给手机做网站的公司厦门建公司网站
  • 红河蒙自网站开发京东网站开发费用
  • 网站开发语言p建设贷款网站哪家好
  • 租腾讯服务器做网站行吗优化公司股权结构