##机制和策略相分离原则

机制和策略相分离原则 - AZURE - 博客频道 - CSDN.NET http://blog.csdn.net/azloong/article/details/7387626

这些天大刀阔斧修改了我们的alsa音频驱动,更深切理解了机制和策略分离的重要性。
说来惭愧,Linux Device Drivers一书翻来覆去查阅了无数遍,却忽视了绪论中的一句话:区分机制和策略是Unix设计背后隐含的最好思想之一。
“需要提供什么功能”即机制,“如何使用这些功能”即策略。一年多前,初接手音频驱动开发时,就混淆了机制和策略,主要表现在音频通道方面。
最典型的例如:当codec检测到有headset插入时,就关闭speaker,声音转向headset输出;而检测到headset拔下时,关闭headset通道,声音转向speaker输出。
这个做法,我当时就认为是正确的场景。可是却没有考虑到一些特殊的场景:如在headset插入的状态下,这时如果是闹钟铃声或电话铃声的话,声音还是必须要speaker出来的。
各种应用场景千奇百怪,作为底层的不能假设什么策略是正确的,更不应该擅自去实现这些策略。只需要提供相关的功能即可,上层根据需要来调用这些接口。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,569评论 25 709
  • 在此特此声明:一下所有链接均来自互联网,在此记录下我的查阅学习历程,感谢各位原创作者的无私奉献 ! 技术一点一点积...
    远航的移动开发历程阅读 13,897评论 12 197
  • 深秋寒夜,或许清冷的星正攀上结了霜的窗。 启明星还亮着,在深海一样的宇宙里亮着。我也醒着,畅想自己正在高远的星空下...
    浮辞z阅读 1,598评论 0 1
  • Jap Ji PAURI 2第二节 hukmee hovan aakaar hukam n kahe-aa jaa...
    李曼绮ManjotKaur阅读 3,474评论 0 2
  • 在今天的文章中,我们将更仔细的讨论代码本身的设计,特别检查是否遵循了良好的面向对象设计实践。和我们已经讨论过的其他...
    唐先僧阅读 9,460评论 0 17

友情链接更多精彩内容