حزمة بيثون مع أنماط تصميم البرامج الشائعة.
| يبني | |
|---|---|
| طَرد | |
| جودة الكود |
يستضيف هذا المستودع رمز المصدر المفتوح لمشروع أنماط البرمجيات. المكون الرئيسي للمشروع هو حزمة Python ذات البرامج المستضافة على PYPI على https://pypi.org/project/software-patterns ، وهي تتميز أيضًا بصفحات وثائق عبر الإنترنت مستضافة على https://software-patterns.readthedocs.io/ ومستضافة عمل CI العام على circleci.
ما هي أنماط تصميم البرامج؟
يستخدم مهندسو البرمجيات تصميمات وحلول مختلفة لحل مشاكلهم. تم دراسة أنماط (البرمجيات) الناشئة ، من بين حلول التعليمات البرمجية ، والتي تستهدف المشكلات التي تنشئ وإضفاء الطابع الرسمي على كيفية استخدامها ، وما هي المشكلة التي يحلونها ولماذا تكون مرشحًا مناسبًا لحلها. تُعرف تصميمات الرموز هذه ، والتي توجد في كثير من الأحيان في قواعد التعليمات البرمجية المختلفة ، باسم أنماط تصميم البرامج.
تكشف حزمة برامج البرمجيات مجموعة من فئات Python التي تسمح بالاستخدام المؤثر لأنماط تصميم البرامج الشائعة.
تنفيذ أنماط التصميم:
التثبيت من خادم PYPI:
PIP تثبيت نماذج البرمجيات
رمز مثال لاستخدام نمط المصنع في شكل سجل فئة (فرعي):
from software_patterns import SubclassRegistry
class MyClassRegistry ( metaclass = SubclassRegistry ):
pass
@ MyClassRegistry . register_as_subclass ( 'a' )
class ClassA :
def __init__ ( self , number ):
self . attr = number
@ MyClassRegistry . register_as_subclass ( 'b' )
class ClassB :
def __init__ ( self , number ):
self . attr = number - 1
assert MyClassRegistry . subclasses == { 'a' : ClassA , 'b' : ClassB }
instance_a = MyClassRegistry . create ( 'a' , 10 )
assert type ( instance_a ) == ClassA
assert instance_a . attr == 10
assert isinstance ( instance_a , ClassA )
instance_b = MyClassRegistry . create ( 'b' , 10 )
assert type ( instance_b ) == ClassB
assert instance_b . attr == 9
assert isinstance ( instance_b , ClassB )