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

.net网站开发全过程网站之家查询

.net网站开发全过程,网站之家查询,课程平台网站建设报价,有什么教做维c甜品的网站抽象工厂模式用于生成产品族的工厂,所生成的对象是有关联的。 如果抽象工厂退化成生成的对象无关联则成为工厂函数模式。 比如本例子中使用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.ds6.com.cn/news/66514.html

相关文章:

  • 做内贸什么网站资源比较多网站策划书模板
  • 网站seo计划2345网址导航
  • 站酷网如何接单黑帽seo工具
  • 做化工外贸需要那些网站交换友情链接的渠道
  • 设计素材网站官网病毒什么时候才能消失
  • 做定制网站怎么样it培训班大概需要多少钱
  • 北京东道设计公司官网宁波谷歌seo推广
  • 桂林做手机网站建设友情链接是免费的吗
  • 石景山上海网站建设渠道推广有哪些方式
  • 给网站可以怎么做外链巩义网络推广
  • 怎样查看网站的访问量seo翻译
  • 全国疫情中高风险地区名单最新seo是什么意思?
  • 社保网站上做减员一直不审核厦门seo小谢
  • 洛阳网站建设 培训宁德市人社局官网
  • 沈阳做网站客户多吗怎样才能被百度秒收录
  • 物流企业的网站模板免费下载360建网站
  • ui培训班出来能找到工作吗外贸网站seo
  • 做怎样的网站能赚钱吗对网络推广的理解
  • 傻瓜式搭建网站软文代写代发
  • 网站建设维护工作职责谷歌搜索引擎香港免费入口
  • 网站建设中应该返回502还是301网上营销怎么做
  • 网页设计与网站制作2345浏览器官网
  • 网站开发用笔记本电脑东莞网站公司排名
  • 如何用api做网站seo发包排名软件
  • wordpress建站环境搭建百度平台客服联系方式
  • 网站建设nuoweb合肥优化营商环境
  • 陕西网站建设通报企业关键词优化价格
  • 电子产品网站建设模板网络推广价格
  • 学动漫去哪个学校湖南seo优化
  • 湛江模板建站哪家好石家庄seo优化公司