我正在开发一个业务特定的应用程序,3个月以来,我阅读了很多关于SOLID php开发的文章。我真的认为这些指导方针可以为代码增加很高的价值,我希望在未来的工作中开始尊重它们。但我真的对SOLID dev在业务特定应用程序中的应用持怀疑态度,因为我找不到任何方法来在我们当前的代码中实现它。我的项目不会被公开分享,因为它服务于一个真正面向商业的目的。如上所述,我读了很多可靠的文章,但这些文章给出了Book实现可打印接口或汽车减去Vehicle父类的例子。这些例子与实际应用程序相去甚远。现实世界中面向业务的应用程序不是处理书籍或汽车,而是处理客户、产品、订单、发票、统计数据和邮件。
例如,我想开始使用接口,但我在我们的项目中找不到2个类,这些类有一些共同之处/服务于类似的目标,可以从实现接口中获益。
所以我的问题有点简单,可靠的开发可以应用于每个单独的应用程序并增加价值(在这种情况下,我只是还没有找到如何在我们的项目中实现它),或者这是为公共开发制定的某种旨在共享的指导方针?
注意:不知道stackoverflow是否是发布这个问题的合适站点,找不到更好的stackexchange站点来解决这个问题。
发布于 2015-06-28 14:48:17
SOLID几乎是好的OO的同义词(显然不仅仅是SOLID,但它是一个很好的基础)。
你所问的基本上是:“在真实世界的系统中能遵循最佳实践吗?”答案显然是肯定的!然而,它需要大量的实践和经验才能正确地应用这些实践。
SOLID是经过多年的实际应用程序制作后从行业中出现的原则,旨在使系统代码库灵活。
起初,您可能看不到太多应用原则的机会,但这是因为您在应用解决方案之前还没有确定问题,而这要困难得多,因为建模问题在一开始可能是微妙的,直到它们咬了您。
“我们的主要问题是数据库架构非常旧,设计也很糟糕。我们正在努力改进它,这就是为什么我在过去的几个月里读了很多关于SOLID的文章。”
SOLID主要是面向对象的,好的OO建模不应该关心持久性。如果你想改进你的数据库架构,那么你就找错了方向。
我强烈建议您阅读领域驱动设计(DDD),而不是只关注SOLID。DDD完全是关于以一种对领域及其现实世界方面真实的方式来制作领域特定的模型。DDD的主要本质不在于它的战术模式,而是这些都是基于SOLID的。
https://stackoverflow.com/questions/30998073
复制相似问题