Pythonでは、enumモジュールを使用して列挙型を作成することができます。また、enumを使用してファクトリパターンを実装することも可能です。

以下に、Pythonでenumとファクトリパターンを組み合わせたコードの一例を示します。

from enum import Enum

class EmployeeType(Enum):
    ENGINEER = 1
    SALES = 2

class Employee:
    def __init__(self, name):
        self.name = name

class Engineer(Employee):
    def work(self):
        return 'エンジニアリング'

class Sales(Employee):
    def work(self):
        return '営業'

class EmployeeFactory:
    @staticmethod
    def create(employee_type, name):
        if employee_type == EmployeeType.ENGINEER:
            return Engineer(name)
        elif employee_type == EmployeeType.SALES:
            return Sales(name)

engineer = EmployeeFactory.create(EmployeeType.ENGINEER, 'Aさん')
print(engineer.work())  # エンジニアリング

sales = EmployeeFactory.create(EmployeeType.SALES, 'Bさん')
print(sales.work())  # 営業

このコードでは、EmployeeTypeというenumを定義し、それをEmployeeFactorycreateメソッドの引数として使用しています。これにより、EmployeeType.ENGINEERを指定すればEngineerのインスタンスが、EmployeeType.SALESを指定すればSalesのインスタンスが生成されます。

このように、Pythonのenumとファクトリパターンを組み合わせることで、コードの可読性と保守性を向上させることができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です