我只是好奇,我认为大多数人都知道这是一种技巧:
你有一些令人讨厌的数据,这些数据必须被解析,你不能做任何事情来简化算法,所以你能做的最好就是把算法的复杂性隔离到一个地方,而不是把算法的各个部分分散在一起。然后,在隔离之后,用某种界面或契约将它的边界粘合起来,以确保它的复杂性不会泄露出去。
在设计原则库中,这种隔离复杂性的动力在哪里?我不认为这是一字一句的正式文档化的设计原则之一,虽然我猜有一两条与此非常接近的重叠。
发布于 2011-08-25 18:45:00
我认为这是单一责任原则的一个特例。
本质上,您有一个组件专门用于指定算法的实现、执行和一致性,而不是将算法的比特和片段分布在几个不同的组件上。
这既封装了算法,又确保了如果需要随时间变化,代码中只有一个受影响的区域。
发布于 2011-08-25 20:15:55
满足您描述的原则(据我理解)是黑匣子原则--例如,请参阅以下链接:http://it.toolbox.com/blogs/enterprise-solutions/design-principles-black-boxes-16028
https://softwareengineering.stackexchange.com/questions/103665
复制相似问题