adapter.go 461 B

12345678910111213141516171819202122232425262728293031
  1. package adapter
  2. //目标接口
  3. type Target interface {
  4. Request() string
  5. }
  6. //被适配的目标接口
  7. type Adaptee interface {
  8. SpecicalRequest() string
  9. }
  10. //被适配接口的工厂函数
  11. func NewAdaptee() Adaptee {
  12. return &adapteeImpl{}
  13. }
  14. //被适配的目标类
  15. type adapteeImpl struct {
  16. }
  17. func (a *adapteeImpl) SpecificRequest() string {
  18. return "adaptee method"
  19. }
  20. type adapter struct {
  21. adaptee Adaptee
  22. }
  23. func NewAdapter(adaptee Adaptee) Target {
  24. }