标签:
本文基于数据字典和数据流图两种工具讲述一个完整微博客户端的实现。数据字典和数据流图都可以用来表达线程的执行流程,同时定义了需要的类,是进一步设计类的基础。
数据字典实际上是一张表,表的第一个字段是程序代码中的标识符,其它字段具体描述它在线程中被如何使用,以及它所依赖的其它元素,数据字典中各个标识符基本上也是按照线程的执行流程来排序。
数据流图是一个平面拓扑结构,每个节点或者是外部数据,或者是可被线程执行的代码模块。从外部数据到代码模块的边意味着线程在执行代码模块的时候需要用到外部数据,从代码模块到代码模块的边则表示线程执行完成一个代码模块后跳转到另一个代码模块开始执行。其它类型的边没有具体含义。
数据字典
· 线程启动,执行函数main。
· int main(int argc, char *argv[])
—— 线程首先跳转到函数main所在的代码块,然后可以跳转到函数UIApplicationMain。
· int UIApplicationMain (
int argc,
char *argv[],
NSString *principalClassName,
NSString *delegateClassName
);
—— 线程调转到函数UIApplicationMain所在的代码块,然后在内存中创建两个分别引用了应用本身和应用代理的内存块,其实就是UIApplication类(子类)和SAAppDelegate类(子类)的实例;。
·
数据流图
标签:
原文地址:http://www.cnblogs.com/xinchrome/p/4951268.html