Does this behavior have a better design pattern?

lampahome pahome.chen at mirlab.org
Wed Nov 7 04:36:22 EST 2018


I have two categories A,B, and A has 2 items A1,A2
B have 2 items B1, B2.

I have two class A and B, and A will handle A1,A2, B handle B1,B2.

I want to parse one of A1,A2,B1,B2 to script and generate the corresponding
class(object).

Ex: Both in class A and B, all have func1(), func2().
What I thought to design is below:
-------------------------------------------------
class Data(object):
    def __Init__():
        ...
     def func1(self):
        pass

    def func2(self):
         pass

class A(Data):
    def __Init__():
        ...
     def func1(self):
        A_do()

    def func2(self):
         A_does()

class B(Data):
    def __Init__():
        ...
     def func1(self):
        B_do()

    def func2(self):
         B_does()

def get_class(obj):
    if obj == 'A1' or obj == 'A2':
        return A(obj)
     else:
        return B(obj)

# A = get_class(A1)
# B = get_class(B2)

-------------------------------------------------------------

Above is I thought to make code clear, and this pattern is called simple
factory?

*Is there better design pattern for me?*

thanks



More information about the Python-list mailing list