3、主题/订阅
主题的设置可以带有多个层级。层级之间通过斜杠 '/' 进行分隔。这样一个简单的设计可以达到非常灵活的订阅效果。用学校里的学生来举例:school-name/grade/class/student-name。这样一个主题具体到某一个学生,但同时带有很实用的上级信息。
而对主题的订阅,可以使用两个通配符 '+' 和 '#'。+ 号可以匹配主题的一个层级,而 # 号可以匹配主题的一个或多个层级。有了通配符,就可以做到一个订阅,获取到多个符合条件的主题了。例如对于上述类型的学生主题,可能有以下几种:① A 学校一年级二班的张三:A/1/2/zhangsan
② A 学校二年级二班的张三:A/2/2/zhangsan
③ B 学校一年级三班的张三:B/1/3/zhangsan
④ C 学校二年级三班的张三:C/2/3/zhangsan
订阅规则:
① 订阅 A 学校一年级二班所有的学生:A/1/2/+ —— 订阅上述主题①
② 订阅所有学校叫张三的学生:#/zhangsan —— 订阅上述所有四个主题
值得注意的是,主题所有层级的字段都可以为空,例如 /1/2、A//2、A/1/ 都是合法的主题设置。