【发布时间】:2020-11-05 16:02:54
【问题描述】:
我发现动态编程有点技巧和要求。但是由于我希望自己成为一名合格的软件工程师,我想知道DP将在哪些开发场景中大量使用,或者说在基于现代计算机的开发中是否有实际用途?
如果你想像代理模式和动态代理这样的设计模式,它们在spring框架中被广泛使用,DP似乎只在技术面试中有用。
此外,并行计算和分布式系统的应用似乎并不容易在现代计算机环境中赋能 DP。
是否有任何不罕见的场景以非常实用的方式广泛使用 DP? 请原谅我的无知,因为我没有接触过真正的生产级开发的DP,这让我怀疑挖掘DP的意义。
【问题讨论】:
-
DP 可用于编码许多不同的软件应用程序
-
我在现实生活中多次使用 DP —— 不是为了一件普通的事情,因为人们为普通的事情编写库,而是为了一些不寻常的事情。但是,您提出这个问题的事实表明您正在以错误的方式思考事情。如果有一天你不得不使用 DP,你不会了解 DP。通过练习 DP,您可以学习思考问题的方法,这将使您成为更好的开发人员。 10 年后没人会关心 spring 框架,但是你从 DP 那里学到的技术仍然可以很好地为你服务。
-
@MattTimmermans 也许10年后没人会关心spring框架,但软件设计和架构会被继承。但我只是不确定我从 DP 学到的东西是否真的会在未来 10 年内对我有所帮助。
-
听起来他们不会。
标签: algorithm dynamic-programming