Tag: 固体原则

猴子修补。 SOLID原则?

在一些个人项目中,我正在慢慢地从PHP5转向Python,我现在很喜欢这种体验。 在选择沿着Python路线前,我看了Ruby。 我从ruby社区注意到的是,猴子修补既常见又备受推崇。 我也遇到了很多关于调试ruby s / w的试验的恐怖故事,因为有人包括一个相对无害的库来完成一些工作但是修补了一些使用频繁的核心对象而没有告诉任何人。 我选择Python(除了其他原因)之外它的语法更清晰,而且它可以完成Ruby所能做的一切。 Python正在使OO点击比PHP有更好的点击,我正在越来越多地阅读OO原则以增强这种更好的理解。 今晚我一直在阅读Robert Martin的SOLID原则: 单一责任原则, O pen / closed原则, L iskov替代原则, 我接口隔离原则,和 依赖倒置原理 我目前接受O : 软件实体(课程,模块,function等)应该开放扩展,但是要求修改 。 我的头脑是在确保OO设计的一致性和整个猴子修补之间的冲突。 我知道可以在Python中进行猴子修补。 我也明白,“pythonic”是遵循常见的,经过良好测试的oop最佳实践和原则。 我想知道的是社区对两个对立主题的看法; 他们如何互操作,当它最好地使用它时,是否应该完成猴子修补……希望你能为我提供解决方案。