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

惠州企业建站系统展厅装修设计公司有

惠州企业建站系统,展厅装修设计公司有,如何修改网站域名,51简历模板网抽象工厂模式用于生成产品族的工厂,所生成的对象是有关联的。 如果抽象工厂退化成生成的对象无关联则成为工厂函数模式。 比如本例子中使用RDB和XML存储订单信息,抽象工厂分别能生成相关的主订单信息和订单详情信息。 如果业务逻辑中需要替换使用的时候…

抽象工厂模式用于生成产品族的工厂,所生成的对象是有关联的。

如果抽象工厂退化成生成的对象无关联则成为工厂函数模式。

比如本例子中使用RDB和XML存储订单信息,抽象工厂分别能生成相关的主订单信息和订单详情信息。 如果业务逻辑中需要替换使用的时候只需要改动工厂函数相关的类就能替换使用不同的存储方式了。

代码实现

package abstractfactoryimport "fmt"//OrderMainDAO 为订单主记录
type OrderMainDAO interface {SaveOrderMain()
}//OrderDetailDAO 为订单详情纪录
type OrderDetailDAO interface {SaveOrderDetail()
}//DAOFactory DAO 抽象模式工厂接口
type DAOFactory interface {CreateOrderMainDAO() OrderMainDAOCreateOrderDetailDAO() OrderDetailDAO
}//RDBMainDAP 为关系型数据库的OrderMainDAO实现
type RDBMainDAO struct{}//SaveOrderMain ...
func (*RDBMainDAO) SaveOrderMain() {fmt.Print("rdb main save\n")
}//RDBDetailDAO 为关系型数据库的OrderDetailDAO实现
type RDBDetailDAO struct{}// SaveOrderDetail ...
func (*RDBDetailDAO) SaveOrderDetail() {fmt.Print("rdb detail save\n")
}//RDBDAOFactory DAO抽象工厂实现
type RDBDAOFactory struct{}func (*RDBDAOFactory) CreateOrderMainDAO() OrderMainDAO {return &RDBMainDAO{}
}func (*RDBDAOFactory) CreateOrderDetailDAO() OrderDetailDAO {return &RDBDetailDAO{}
}//XMLMainDAO XML存储
type XMLMainDAO struct{}//SaveOrderMain ...
func (*XMLMainDAO) SaveOrderMain() {fmt.Print("xml main save\n")
}//XMLDetailDAO XML存储
type XMLDetailDAO struct{}// SaveOrderDetail ...
func (*XMLDetailDAO) SaveOrderDetail() {fmt.Print("xml detail save")
}//XMLDAOFactory DAO抽象工厂实现
type XMLDAOFactory struct{}func (*XMLDAOFactory) CreateOrderMainDAO() OrderMainDAO {return &XMLMainDAO{}
}func (*XMLDAOFactory) CreateOrderDetailDAO() OrderDetailDAO {return &XMLDetailDAO{}
}

在这里插入图片描述

单元测试

package abstractfactoryfunc getMainAndDetail(factory DAOFactory) {factory.CreateOrderMainDAO().SaveOrderMain()factory.CreateOrderDetailDAO().SaveOrderDetail()
}func ExampleRdbFactory() {var factory DAOFactoryfactory = &RDBDAOFactory{}getMainAndDetail(factory)// Output:// rdb main save// rdb detail save
}func ExampleXmlFactory() {var factory DAOFactoryfactory = &XMLDAOFactory{}getMainAndDetail(factory)// Output:// xml main save// xml detail save
}
http://www.yayakq.cn/news/716320/

相关文章:

  • 沭阳建设网站百度资源搜索
  • 设计签名免费网站包装设计网官网
  • 网站认证必须做吗wordpress微信开发
  • 珠海高端网站制作公司域名注册步骤
  • 用网站模板做新网站王烨鬼小说
  • 网站策划 英文单位建设网站的作用意义
  • 门户网站的基本功能可以做彩票广告的网站吗
  • 宣传 网站建设方案广州番禺人才网官网
  • 介绍小说的网站模板怎么免费建立网站做推广
  • iis做网站文件下载广西南宁官方网站企业
  • dw里面怎么做网站轮播图wordpress ifttt
  • 淘宝联盟推广可以做网站吗wordpress随机推荐
  • 网站建设结构在深圳怎么注册一家公司
  • 兰州企业网站优化紧急通知网页升级自动访问升级
  • php 中英双语网站源码付费阅读网站建设
  • 视频网站空间小程序推广任务
  • 建网站详细步骤代理推广怎么做
  • dedecms 如何关闭网站平顶山北京网站建设
  • c2c的电子商务网站有哪些郑州制作网页的公司
  • 重庆网站营销安阳百度贴吧
  • 湖北网站建设贴吧网络推广合作
  • 做网站推广的方法系统开发的大概步骤
  • 网站做友链有行业要求吗网站首页html制作代码
  • 网站建设总体说明书西安论坛
  • cms 网站后台内容管理系统模板博优云软件官方网站
  • 电影采集网站怎么做seo中美贸易最新消息
  • 国内响应式网站案例wordpress点播视频模版
  • 网站建设简单个人主页有口碑的企业网站建设
  • 安徽省建设厅网站首页wordpress 一年好贵
  • 网站开发公司按时交付网站建设费用计入管理费用