Pola Desain Python - Kelas Terbang
Pola kelas terbang berada di bawah kategori pola desain struktural. Ini memberikan cara untuk mengurangi jumlah objek. Ini mencakup berbagai fitur yang membantu dalam meningkatkan struktur aplikasi. Fitur terpenting dari objek kelas terbang adalah kekekalan. Ini berarti bahwa mereka tidak dapat dimodifikasi setelah dibuat. Pola tersebut menggunakan HashMap untuk menyimpan objek referensi.
Bagaimana cara menerapkan pola kelas terbang?
Program berikut membantu dalam menerapkan pola kelas terbang -
class ComplexGenetics(object):
def __init__(self):
pass
def genes(self, gene_code):
return "ComplexPatter[%s]TooHugeinSize" % (gene_code)
class Families(object):
family = {}
def __new__(cls, name, family_id):
try:
id = cls.family[family_id]
except KeyError:
id = object.__new__(cls)
cls.family[family_id] = id
return id
def set_genetic_info(self, genetic_info):
cg = ComplexGenetics()
self.genetic_info = cg.genes(genetic_info)
def get_genetic_info(self):
return (self.genetic_info)
def test():
data = (('a', 1, 'ATAG'), ('a', 2, 'AAGT'), ('b', 1, 'ATAG'))
family_objects = []
for i in data:
obj = Families(i[0], i[1])
obj.set_genetic_info(i[2])
family_objects.append(obj)
for i in family_objects:
print "id = " + str(id(i))
print i.get_genetic_info()
print "similar id's says that they are same objects "
if __name__ == '__main__':
test()
Keluaran
Program di atas menghasilkan keluaran berikut -