
软件架构
Zhang_P_Y
关注机器学习、计算机视觉、嵌入式(MCU、DSP、ARM)和桌面开发等领域
展开
-
软件架构的控制流总结
在进行程序开发时,要从总体上对软件架构进行规划,软件架构(software architecture)包括两个aspects,control flow and data flow。这里先对typical software architecture control flow进行summarize,后续的文章将继续对data flow进行梳理和总结。这里要感谢dossier-andreas,把soft原创 2015-07-07 12:22:39 · 2552 阅读 · 0 评论 -
软件架构的数据流总结(三)
14. Interpreter / virtual machine (解释器/虚拟机)典型样例:Java 虚拟机,Rule-based systems,脚本语言(JavaScript)原理:Program or Script加载到解释器,创立Program和环境的链接。解释器从程序中读取指令并处理,从而影响Environment。问题:比直接执行要慢许多;需要定制debugge原创 2015-07-08 13:07:07 · 2592 阅读 · 0 评论 -
软件架构的数据流总结(一)
1. Model-View-Controller(MVC框架)This architecture is used in simpleGUI applications,不管是MFC,还是Matlab,亦或是android,基本上关于界面的开发,都是基于这种软件框架。看来还有web应用程序亦是如此。事件驱动模型。MVC组件创建的步骤:1) 构建模型(model),然后通过引用包含到原创 2015-07-07 15:14:21 · 4891 阅读 · 0 评论 -
并行编程架构(指令流水、进程、线程、多核,Pipe and Filter)
最近在进行DSP软件优化时,查阅文献,看到了几种并行机制,下面予以总结:关键词一:指令流水关键词二:多进程关键词三:多线程关键词四:多核(多处理器、超线程结构、多核结构、多核超线程架构)在体系架构中,Pipe and Filter(管道过滤器架构),如下图所示,所有的Filter并行执行,Pump 或者Producer是data sources,可以是静态的文本文件,也原创 2015-07-06 10:29:50 · 2435 阅读 · 0 评论 -
软件架构的数据流总结(二)
8. Blackboard(有点像老师叫学生上黑板写东西,而不是学生随意上黑板写)Blackboard是Knowledge Sources的通用数据结构,能够代表问题空间的所有状态,当需要分离的数据结构时,Blackboard可以分开为多个面板(panels)。Knowledge Sources 是解决问题方法的元件,它们之间没有链接。Scheduler(调度器)决定哪个知识源原创 2015-07-08 11:13:58 · 1958 阅读 · 0 评论