Problem space, Solution space的理解。
今天看 think in java 的时候,感觉下面这句话很抽象,似懂非懂。就查了相关资料,现记录如下。
Indeed, one of the challenges of object-oriented programming is to create a one-to-one mapping between the elements in the problem space and objects in the solution space.
先解释下 problem space 和 solution space:
problem space: 问题空间,简单理解就是当前环境下业务所面临的一系列问题和背后的需求。
solution space: 解决方案空间, 则是针对问题空间的解决方案,它思考的是如何设计实现软件系统以解决这些问题,它属于工程设计实施阶段,通常是技术专家主导的解决方案设计和实现。
句子翻译如下:
实际上,面向对象编程的挑战之一是创建问题空间元素(需求)和解决方案空间的对象(代码设计实现)。
如有错误,还望指正。谢谢