问题描述
select json_data:id::integer as ID from colors
这是 aws 服务的一种工厂,但它们必须返回的常见类型是什么?
解决方法
你可以做的是编写两个函数,每个函数都会返回其中一个。
另一种选择是返回一个接口并让用户根据他知道的值来转换值。如果对象共享具有相同名称的方法,则接口可以选择定义一些方法。
我认为最合适的最后一种方法是模块化方法,我也将演示它。但是用伪代码。
func NewSession
session,err = (create session)
(handle error)
return session
// now lets use this
func MyUseCase
ecr = NewEcr(NewSession())
(use ecr)
你在代码中抽象的东西根本不应该被抽象。用户应该创建他的实例,因为它比投射它更简单,甚至更快。
抽象的主要目标是简化顶级代码并消除重复。记住这一点。