_5_abstract_factory

package
v0.0.0-...-eb36113 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 19, 2023 License: Apache-2.0, MIT Imports: 1 Imported by: 0

README

抽象工厂模式

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

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DAOFactory

type DAOFactory interface {
	CreateMainOrder() MainOrder
	CreateDetailOrder() DetailOrder
}

type DetailOrder

type DetailOrder interface {
	SaveDetailOrder()
}

type MainOrder

type MainOrder interface {
	SaveMainOrder()
}

type RDBDAOFactory

type RDBDAOFactory struct{}

func (*RDBDAOFactory) CreateDetailOrder

func (r *RDBDAOFactory) CreateDetailOrder() DetailOrder

func (*RDBDAOFactory) CreateMainOrder

func (r *RDBDAOFactory) CreateMainOrder() MainOrder

type RDBDetailOrder

type RDBDetailOrder struct{}

func (*RDBDetailOrder) SaveDetailOrder

func (d *RDBDetailOrder) SaveDetailOrder()

type RDBMainFactory

type RDBMainFactory struct{}

func (*RDBMainFactory) SaveMainOrder

func (f *RDBMainFactory) SaveMainOrder()

type XMLDAOFactory

type XMLDAOFactory struct{}

func (*XMLDAOFactory) CreateDetailOrder

func (x *XMLDAOFactory) CreateDetailOrder() DetailOrder

func (*XMLDAOFactory) CreateMainOrder

func (x *XMLDAOFactory) CreateMainOrder() MainOrder

type XMLDetailOrder

type XMLDetailOrder struct{}

func (*XMLDetailOrder) SaveDetailOrder

func (d *XMLDetailOrder) SaveDetailOrder()

type XMLMainFactory

type XMLMainFactory struct{}

func (*XMLMainFactory) SaveMainOrder

func (f *XMLMainFactory) SaveMainOrder()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL