Applications框架(翻译官网pdf)

转载 2016年08月29日 10:42:37

Applications with POCO

1、POCO应用程序框架,支持以下几种需求:

     (1)命令行参数处理;(2)配置文件;(3)初始化和关闭;(4)日志。

2、POCO支持以下两种类型的应用程序:命令行应用程序和服务器应用程序。

Application Subsystems

3、一个应用程序由不同的subsystems组成;

    Subsystems可以帮助我们初始化和关闭应用程序;

    当应用程序被初始化后,所有注册的subsystems也被初始化;

    当应用程序被关闭后,所有注册的subsystems也被关闭;

The Subsystem Class (Subsystem类)

4、Subsystems必须通过实现一个Poco::Util::Subsystem的子类;

   const char* name() const                     返回子系统名称

   void initialize(Application& app)              初始化子系统

   void uninitialize(Application& app)          关闭子系统

   void reinitialize(Application& app)           重新配置子系统

5、void defineOptions(OptionSet& options)    允许一个subsystem去定义它自己的命令行参数

    如果一个subsystem想去定义它自己的命令行参数,必须实现其成员函数

    为了有效的处理选择参数,一个subsystem应该去绑定参数到配置属性中或者确定一个返回值去处理选择的参数

    然而,选择的参数将传递给handleOption()成员函数,你可能不知道怎么去处理它。

Command Line Applications(命令行应用程序)

6、命令行应用程序通过创建一个Poco::Util::Application的子类来实现

    应用程序是一个Subsystem的子类

    有一些虚成员函数,可以重载  

    可以从Subsystem中已经知道有以下函数:

    void initialize(Application& self)
    void reinitialize()
    void uninitialize()
    void defineOptions()

7、int main(const std::vector<std::string>& args)

    应用程序的入口, args vector包含所有选择的还未处理的命令行参数。

    应用程序包括一些退出代码,如EXIT_OK, EXIT_USAGE等。

Server Applications

8、Server applications 通过创建Poco::Util::ServerApplication的子类来实现。
Poco::Util::ServerApplication也是Poco::Util::Application的子类。

9、服务器应用程序可以以命令行形式作为Windows服务程序或Unix守护程序运行

10、通常情况下,一个服务器程序可以以一个后台线程运行。因此,main()将启动

一个线程,然后等待一个外在的请求去中止运行应用程序(waitForTerminationRequest())。

Configuration Files

11、默认创建两个配置文件:

writable MapConfiguration, PRIO_APPLICATION
readonly SystemConfiguration, PRIO_SYSTEM

12、在启动后,一个叫作APP的应用程序会去寻找文件

named APP(d).{xml,ini,properties}
void MyApplication::initialize(Application& self)
{
loadConfiguration(); // load default configuration files
Application::initialize(self);
}

Command Line Options

13、应用程序可以定义和处理命令行参数。

14、命令行参数依据平台的不同,经常有以下格式写法:

> /option or /option=value on Windows
> -o, -ovalue, --option or --option:value on Unix

Defining Options

15、Options通过OptionSet::addOption()添加它们;

16、通过重载虚函数defineOptions() 来实现。

相关文章推荐

servlet容器中使用jersey 翻译官网

Servlet 2.x Container 1、首先添加依赖      dependency >     groupId >org.glassfish.jersey.containers grou...

翻译官网 SpringAOP (1)

英文原文来自 Spring Framework Reference 4.0 http://docs.spring.io/spring/docs/4.0.0.BUILD-SNAPSHOT/spring-...

hbase的table设计(翻译官网)-为完成

HBase and Schema Design 从官网翻译的,怎么设计hbase表 32 Schema Creation hbase的schema使用hbase的shell命令和使用Java...

Android系统框架详解(4)--Applications and Framework

4.Android Applications and Framework 作者:李利伟不加V 今天特殊一点,两个层放在了一起,不是因为两个层类似,是因为这两个层不能详细讲解,这个两层东西太多了,只...

iOS开发APP瘦身之PDF图片资源加载框架

本文介绍的是一个用于在iOS项目中高效加载PDF矢量图标(尺寸可以无限放大)的工具。我们知道在 Xcode 6 及以上版本可以在 Asset Catalog 中使用 PDF 格式的矢量图资源。 YHP...
  • jiisd
  • jiisd
  • 2016年10月19日 01:06
  • 2039

Build Applications with Meteor 无水印pdf

  • 2017年10月06日 15:18
  • 9.1MB
  • 下载

pdf.js 框架使用方法

pdf.js框架的魅力所在,为其为HTML5实现的,无需任何本地支持,而且对浏览器的兼容性也是比较好,要求只有一个:浏览器支持HTML5就好了!(不过对于低版本的IE,就只能节哀了!) 据说IE...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Applications框架(翻译官网pdf)
举报原因:
原因补充:

(最多只允许输入30个字)