发布于 2018-02-11 19:36:05
在这里,编程模型是指令(语言)正确工作所需要的。这些指令的实现是在不改变遵循这些指令的结果的情况下可以改变的细节。
例如,如果我的指示是,您应该将3英尺北移,2英尺西移动,您可以执行这些指令:先向西移动,然后向北移动,然后向北移动,或者向西北方向斜移。你甚至可以随意闲逛,直到你在正确的地点,然后停下来。他们中的任何一个都要遵守指示。这里的编程模型是在另一个地点重新定位的想法。这不是你在另一个地方的迁移方式吗。“如何”是实现细节。
编程语言或指令集都抽象出他们不关心的实现细节。这给那些设计编译器、解释器、JVM和CPU的人留下了空间,可以在支持这个模型的同时选择如何实现。这些选择可以使事物更加健壮、高效、可维护和可扩展。或者他们可能做不到。但是,只要他们按照指令所要求的做,他们仍然保持编程模型。
只要实现支持编程模型,您就可以相信,当它遵循指令时,它会给出它应该提供的内容。
也要明白,这些可以层。你可以有一个运动模型,它暴露了只移动南北和东西的想法,而没有对角线移动的可能。这个细节不会出现在上面的位置模型中,而是在移动模型中。运动模式中没有的是,如果你走路,骑自行车,或者游泳来做这些动作。
每当我们建模的时候,我们都会在这个层次上选择要关心的事情。其他的事情,我们抽象化,让其他东西来处理它们。
https://softwareengineering.stackexchange.com/questions/365755
复制相似问题