Я хочу создать класс службы, который имеет только один экземпляр, поэтому я должен сделать этот класс одиночным, или мне нужно сделать методы как classmethods?python singleton vs classmethod
class PromoService():
@classmethod
def create_promo(cls, promotion):
#do stuff
return promo
class DiscountPromoService(PromoService):
@classmethod
def create_promo(cls, promo, discount):
promo = super(DiscountPromoService, cls).create_promo(promo)
promo.discount = discount
promo.save()
return promo
Причина, по которой я не хочу создавать ее в качестве модуля, потому что мне нужно будет подклассифицировать мою службу. Каков самый питонический способ сделать это, вышеупомянутый способ или сделать одноэлементный класс?
является 'DiscountPromoService', чтобы наследовать форму' PromoService'? –