Python Tasarım Modelleri - Fabrika
Fabrika kalıbı, yaratım kalıpları listesi kategorisinin altında gelir. Bir nesne yaratmanın en iyi yollarından birini sağlar. Fabrika modelinde nesneler, mantığı müşteriye göstermeden ve ortak bir arayüz kullanılarak yeni oluşturulan nesneye başvurmadan oluşturulur.
Fabrika kalıpları, fabrika yöntemi kullanılarak Python'da uygulanır. Bir kullanıcı, bir dizeyi ileteceğimiz bir yöntemi çağırdığında ve yeni bir nesne olarak dönüş değeri fabrika yöntemi aracılığıyla uygulanır. Fabrika yönteminde kullanılan nesnenin türü, yöntemden geçirilen dizge tarafından belirlenir.
Aşağıdaki örnekte, her yöntem, fabrika yöntemiyle uygulanan bir parametre olarak nesneyi içerir.
Bir fabrika modeli nasıl uygulanır?
Şimdi bir fabrika modelinin nasıl uygulanacağını görelim.
class Button(object):
html = ""
def get_html(self):
return self.html
class Image(Button):
html = "<img></img>"
class Input(Button):
html = "<input></input>"
class Flash(Button):
html = "<obj></obj>"
class ButtonFactory():
def create_button(self, typ):
targetclass = typ.capitalize()
return globals()[targetclass]()
button_obj = ButtonFactory()
button = ['image', 'input', 'flash']
for b in button:
print button_obj.create_button(b).get_html()
Düğme sınıfı, html etiketlerini ve ilişkili html sayfasını oluşturmaya yardımcı olur. İstemcinin kod mantığına erişimi olmayacak ve çıktı html sayfasının oluşturulmasını temsil edecek.
Çıktı
Açıklama
Python kodu, değeri belirten html etiketlerinin mantığını içerir. Son kullanıcı, Python kodu tarafından oluşturulan HTML dosyasına bakabilir.