software patterns
v2.0.0
带有常见软件设计模式的Python软件包。
| 建造 | |
|---|---|
| 包裹 | |
| 代码质量 |
该存储库托管软件模式项目的开源代码。该项目的主要组件是https://pypi.org/project/software-patterns托管的软件paterns python软件包,它还具有托管在https://software-patrens.readthedocs.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 )