一、 命令行应用程序
命令行应用程序的特点(Command Line Interface)
1、是一种基于顺序执行结构的可执行程序。
2、程序执行过程中不需要与用户产生交互。
3、程序执行后给出最终的运行结果。
命令行应用程序的运行模式
特点:程序的运行有固定的开始和固定的结束。
这样的程序设计方法是一种面向过程的程序设计方法:将一个大的问题分解成各种各样小的问题,然后将小的问题在逐个击破,那么整个大的问题也就解决了。
命令行应用程序的适用场景
1、单任务场合
2、无交互或简单交互场合
3、服务器应用场合(因为命令行应用程序它自身运行所占用的系统资源是比较少的)
例:ls所对应的应用程序就是一个命令行应用程序,当敲入ls回车之后列出了目录以及文件,这个过程里面就不会和我们用户产生任何的交互。ls命令行应用程序一旦开始执行,那么必然就完成它单一的任务,当它列出文件及文件夹之后就主动退出了。
二、 图形界面应用程序
图形界面应用程序的特点(Graphic User Interface)
1、是一种基于消息驱动模型的可执行程序。
2、程序的执行依赖于用户的交互过程。
3、程序执行过程中实时响应用户操作。
4、一般情况下程序执行后不会主动退出。
图形界面应用程序的运行模式
图形界面应用程序的消息处理模型
普通用户要使用计算机就需要操作系统,当操作系统安装在硬件上面之后,普通用户才能使用计算机。
用户的操作主要分为两类,分别是鼠标和键盘操作。当用户对计算机进行操作之后,操作系统内核就会检测到用户的操作,系统内核就会根据用户当前的操作来生成一个系统消息,于是就把这个系统消息发送到一个有焦点的应用程序。
对于图形界面应用程序而言,每个应用程序都会有一个消息队列,系统消息就是被扔到当前有焦点的应用程序的消息队列里,然后消息循环就会从这个队列里面将系统消息取出来,取出来之后会调用消息处理函数。所以我们的图形界面应用程序里面必须编写一个消息处理函数用于处理对应的消息。
比如:在notepad这个图形界面应用程序里,它响应键盘消息之后就会在界面上面去打印字符,所以可以推测出图形界面应用程序的编程多数时候就是编写函数去处理系统消息。
图形界面应用程序适用场景
1、多任务的场合
2、强用户交互的场合
3、非专业计算机用户
例:图形界面应用程序往往都是功能强大的,集多种功能与一身的,比如powerpoint可以编写文字,可以画图,可以编程,还可以将当前的幻灯片存储为其他的文件格式。
三、 总结
图形界面应用程序和命令行应用程序是一种互补的关系,当代的大型软件产品架构当中,两种都会用到。命令行应用程序由于单一任务的特性,所以可用于开发后台应用程序;图形界面应用程序由于长得比较好看,它的用户交互性比较好,所以拿来开发用户界面。