แพ็คเกจ Python พร้อมรูปแบบการออกแบบซอฟต์แวร์ทั่วไป
| สร้าง | |
|---|---|
| บรรจุุภัณฑ์ | |
| คุณภาพรหัส |
พื้นที่เก็บข้อมูลนี้เป็นโฮสต์รหัสโอเพนซอร์ซของโครงการรูปแบบซอฟต์แวร์ ส่วนประกอบหลักของโครงการคือแพ็คเกจ Python ซอฟต์แวร์ที่โฮสต์บน PYPI ที่ https://pypi.org/project/software-patterns นอกจากนี้ยังมีหน้าเอกสารออนไลน์ที่โฮสต์ที่ https://software-patternsedthedoCs.io/
รูปแบบการออกแบบซอฟต์แวร์คืออะไร?
วิศวกรซอฟต์แวร์ใช้การออกแบบและโซลูชั่นต่าง ๆ เพื่อแก้ปัญหาของพวกเขา รูปแบบที่เกิดขึ้นใหม่ (ซอฟต์แวร์) ในบรรดาโซลูชันรหัสการกำหนดเป้าหมายการแก้ไขปัญหาได้รับการศึกษาและเป็นทางการในแง่ของวิธีการใช้งานปัญหาที่พวกเขาแก้ปัญหาและทำไมพวกเขาถึงเป็นผู้สมัครที่เหมาะสมในการแก้ปัญหา การออกแบบรหัสเหล่านี้ซึ่งพบได้บ่อยในฐานรหัสต่างๆเรียกว่ารูปแบบการออกแบบซอฟต์แวร์
แพ็คเกจรูปแบบซอฟต์แวร์เปิดเผยชุดของคลาส 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 )