我想大多数开发人员都有多层架构的想法。我们有 DAL(数据访问层),我们有 BLL(业务逻辑层),并且在接近尽头的地方我们有我们的 UI。如果您的项目以某种方式遵循这些原则,您是否保留(或至少尝试)保留/放置它们在概念上属于的地方?我对与许多其他人一起工作的大公司应用程序特别感兴趣。显然,你可以用你的私人玩具项目做任何你想做的事,发明任何类型的架构并坚持下去。对于有很多人为软件做出贡献或整体混乱的大型项目来说,这并不容易。
例如,我碰巧看到诸如 UI 组件直接进入数据库以获取一些 BL 不提供的“丢失”额外数据,UI 和 BL 都使用表字段等低级元素,我认为它们应该委托这些操作到较低级别即 DAL。在与高级开发人员讨论这些事情后,我看到他根本没有看到这有问题,这尤其令人难过。
我们当然可以假设我和任何与我观点相同的人都只是完美主义者,但我清楚地看到了一个非常不利的后果,因为我在一些任务中花了很长时间来追踪所有“平行”路线数据往返于数据库,并确定现在可能受到我实施的新功能影响的人以及以何种方式受到影响。在我看来,当有人决定快速破解这些东西并尽快关闭任务时,这些增加了进一步的开发/维护成本,超过了一些节省。
你的项目是“纯粹的”还是他们很久以前就放弃了在层之间保持清晰界限的想法?如果您仍然保持正确,您将如何处理不了解这些事情或不关心他们只是构建“自定义”解决方案和黑客攻击的同事?或者在某个时间点你停止与风车战斗并接受它作为你的惩罚?