开发者社区> 华章计算机> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《 嵌入式系统设计与实践》一一2.4 延伸阅读

简介: 本节书摘来自华章出版社《 嵌入式系统设计与实践 》一 书中的第2章,第2. 4节,作者:Elecia White 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
+关注继续查看

2.4 延伸阅读
本章中讨论了众多设计模式中的一些模式。本书其他部分也会讨论一些设计模式,但是本书是关于嵌入式系统的,而不是关于设计模式的。试着从以下这些资源中选择一个进行进一步研究,以便更多地了解标准的软件设计模式。
Gamma, Erich, Richard Helm, Ralph Johnson和 John Vlissides. 1995. 设计模式: 可复用面向对象软件的基础。Boston: Addison-Wesley. 这是最早的关于设计模式的著作。这本书采用了C++作为参考语言。
Freeman, Elisabeth, Eric Freeman, Bert Bates和 Kathy Sierra. 2004. 《Head First设计模式》。Design Patterns: Cambridge, MA: O扲elly采用Java作为参考语言,这本书用一种引人入胜的方式给出了大量关于设计模式的例子。
在Wikipedia上搜索,“software design pattern”。
面试问题:创建一个架构
描述一下这个(从房间里挑一样东西)会议电话的架构。
试图从面试房间中寻找有意义的东西有一定的不确定性,因为那里通常缺少比较有趣的东西。会议电话通常被选得最多,因为在某些情况下,它是房间里最复杂的系统。另一个比较好的对象就是投影仪。
当问这个问题时,我想知道面试人能否将一个问题分解成小的部分。我想知道他们分解一个对象时的思维过程。总的来说,从输入和输出开始是比较靠谱的选择。对于会议电话,扬声器和显示屏是输出部分,按键和麦克风是输入部分。我期望能看到将这些东西在一张纸上用方框图表示出来。面试人不应该害怕以至于不敢拿起电话来观察其连接部分。这些连接部分也是输入和输出。当他们完成对物理硬件的分解之后,就可以通过问(自己)一些问题来弄清楚每个组件是如何工作的:电源按钮如何工作?软件接口怎样与它连接?麦克风如何工作?对系统其他部分的影响是什么(例如,是否需要模数转换器)?
面试人会因为提到一些好的软件设计实践而得分。从调用最底层的驱动模块到上一个层次的对象是一个比较好的开头。同样,如果能听到一些诸如系统的某些部分会在将来的电话中被复用,并且尽可能将它们封装的说法也是很不错的。
我希望他们可以问一些关于特定功能或者可能设计目标(成本)的问题。但是,他们可以自己决定问题到底详细到什么程度。需要讨论网络吗?我们可以假设这是一个在IP网络上传输声音的电话(VoIP)。要完全跳过这个问题?那么我们可以专注于如何在一个小型数据库或者链表中存储电话号码。当他们能谈论一些他们感兴趣的东西,特别是那些我在其他面试中没有机会问到的问题时,我会感到非常高兴。
我希望能看到对这个系统有个比较好的把握,但是我也不介意面试人选择在某个方面钻研得深入一些。这个问题给出了一定的自由度,让他们可以针对设计电话时如何利用他们的经验提供了一个比较详细的描述。在我提问的时候,我不介意他们承认自己无知的同时谈论一些他们确实知道的东西。
对一个面试者就架构问题进行提问,并不是希望得到完美的技术细节。能够画出一些东西,即使不是非常清晰,也是非常重要的。这个问题的意图是希望能够看到面试人展示其解决问题的热情和高效地表达其思路的能力。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
分布式系统中,权限设计实践
采用合理的策略去管理资源的权限并不是一件简单的事,通常随着业务和系统的不断扩展,对权限体系都会带来直接的影响,所以在做结构设计时,需要相对复杂但又要避免过度复杂。
46 0
《 嵌入式系统设计与实践》一一3.7 处理错误
本节书摘来自华章出版社《 嵌入式系统设计与实践 》一 书中的第3章,第3. 7节,作者:Elecia White 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1132 0
《 嵌入式系统设计与实践》一一3.3 处理器是一门语言
本节书摘来自华章出版社《 嵌入式系统设计与实践 》一 书中的第3章,第3. 3节,作者:Elecia White 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
969 0
《 嵌入式系统设计与实践》一一1.1 编译器、编程语言以及面向对象编程
本节书摘来自华章出版社《 嵌入式系统设计与实践 》一 书中的第1章,第1 . 1节,作者:Elecia White 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1039 0
《 嵌入式系统设计与实践》一一2.3 一个可以实践的沙盒
本节书摘来自华章出版社《 嵌入式系统设计与实践 》一 书中的第2章,第2. 3节,作者:Elecia White 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
837 0
《 嵌入式系统设计与实践》一一2.2 从框图到架构
本节书摘来自华章出版社《 嵌入式系统设计与实践 》一 书中的第2章,第2. 2节,作者:Elecia White 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1238 0
视图——机房收费系统
<h1><span style="font-size:24px"> 1、什么是视图?</span></h1> <p><span style="font-size:24px">  </span><span style="font-family:KaiTi_GB2312; font-size:18px">在第一次做机房收费系统时,学生信息和卡的信息是在同一张表中的,而机房收费系统重构时,对数
804 0
10057
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载