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

申请网站空间怎么做小程序制作软件

申请网站空间怎么做,小程序制作软件,app网站建设 - 百度,如何在自己公司的网站上做宣传引言 工厂方法模式#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.hkea.cn/news/14445671/

相关文章:

  • 沈阳网站建设模块维护阿里云服务器怎么发布网站
  • 河南移动官网网站建设自己怎么做返利网站吗
  • 做设计应该看哪些网站重庆建筑信息网官网
  • 赣州网站建设信息论文网站建设目标
  • 手机怎么自己建网站建设的网站服务器
  • 教学设计代做去什么网站小游戏网页版入口
  • 做网站用的什么软件北京网络安全公司有哪些
  • 网站优化方案和实施wap网站前景
  • app编程软件有哪些网站推广优化外包
  • 多语言网站建设 技术wordpress检测手机端
  • 用自己电脑做主机做网站服务主机网络服务
  • 徐州网站制作需要多少钱网站百度关键词排名软件
  • 贵州建设工程招投标网站wordpress导航插件
  • 河南郑州app建设网站软件下载网站开发
  • 做一个网站页面多少钱cms那个做网站最好
  • 发布网站建设信息建筑设计优秀作品集
  • 重庆网站制作机构购买域名网
  • 公司网站管理制定的作用做网站需要工具
  • 关于百度网站的优缺点为什么wordpress主题访问很慢
  • 河北企业自助建站目前安卓手机哪个最好用
  • 长沙百度网站推广优化中山建设网站的公司
  • 学习制作网页的网站深圳市住房建设部官方网站
  • 网站制作没有原创图片怎么办如何做网站同步
  • 上海英文网站建设公司怎么改变wordpress首页
  • 能查个人信息的网站创一家网站
  • 南庄网站开发怎么找专业的营销团队
  • 知识付费网站搭建南通城乡住房建设厅网站首页
  • 合作建站协议青岛建设网站的公司
  • 网站导航栏特效海城网站制作
  • 网上销售网站建设策划做网站来联盟怎么样