在Python和C#中实现相同的域模型-什么应该相同,什么应该不同?
作为一项爱好和最佳实践练习,我将在Python和C#中实现相同的域模型(一个简单的GPS/GIS库,灵感来自ISO 191xx标准和OGC抽象模型) 首先,我想:“好吧,ISO/OGC给了我一个完整的UML,所以我将在C#和Python中让每个类都有相同的签名” 我很快发现自己陷入了“严格/静态vs duck类型”的问题,因为我不能指望python中的方法签名。例如:在Python和C#中实现相同的域模型-什么应该相同,什么应该不同?,c#,python,architecture,domain-model,mda,C#,Python,Architecture,Domain Model,Mda,作为一项爱好和最佳实践练习,我将在Python和C#中实现相同的域模型(一个简单的GPS/GIS库,灵感来自ISO 191xx标准和OGC抽象模型) 首先,我想:“好吧,ISO/OGC给了我一个完整的UML,所以我将在C#和Python中让每个类都有相同的签名” 我很快发现自己陷入了“严格/静态vs duck类型”的问题,因为我不能指望python中的方法签名。例如: 重载构造函数在C#中非常常见和自然,但在Python中,必须使用*args**kwargs和条件 C#鼓励使用属性,但我在Py
- 重载构造函数在C#中非常常见和自然,但在Python中,必须使用
和条件李>*args**kwargs
- C#鼓励使用属性,但我在Python中看到的大多数源代码都倾向于直接设置字段,尽管
或@property
的使用非常简单property()
- (等等)