Architecture : Describable Command and Identifiable Data
Architecture : Describable Command and Identifiable Data
Description
Terms
Command
A command is a function in a system.
Every command has input data and output data, and the system is able to know the schema of every command input data.- Describable Commands
That means:- System know what commands the system has.
- Commands are describable, the system know the format of input data of a command, and data format returned by the command.
- Identifiable Data
Every field in an input data or an output data is identifiable.
For example, in a system, there are departments and employee.
Data employee has a field department id which references an id of a department data.
Even the department id and employee id are an integers, i.e their data type are same, but the system understand:- department id is different with employee id.
- department id in the employee data is same thing of the department id in the department.
How is the system running
- Main page
We can image the main page like a search page, there is only an text input field provided.- Users can find all commands by input "*".
- Users can input some key words to narrow down candidate commands,
- At end, the user finds a specific command.
- Command pages
When a command is selected, the system will enter a new page denoted as a command page.- First system will get the schema information of input data of the command, and display some fields to get the user to input command arguments.
- The user input these argument and select execute
- The system will invoke the command, and display the return data
Command perception for return data
When the system get an return data, the system can find corresponding commands.
For example:
The system get a list of employee by invoking GetEmployee command, then system knows DeleteEmployee command should present because the DeleteEmployee command's input is an employee id which is provided in the employee list.Command perception for input data
If the GetEmployee command accept an department name as input to query, the system understands the GetDepartment command can help to input the field of department name as the GetDepartment returns department name.
Implementation considerations
Use infer
For example: var employeeId is an employee id. the name of parameter, field and property will help the system to infer the meaning.Use inheritance for different fields with same data type, especially id
For example, we define a class id, and classes DepartmentId and EmployeeId will inherits the class Id.
Id
|-- DepartmentId
|-- EmployeeIdUse annotation for mark field's identity
Architecture : Describable Command and Identifiable Data的更多相关文章
- Applying the Kappa architecture in the telco industry
https://www.oreilly.com/ideas/applying-the-kappa-architecture-in-the-telco-industry Kappa architectu ...
- Chromium Graphics: Compositor Thread Architecture
Compositor Thread Architecture <jamesr, enne, vangelis, nduca> @chromium.org Goals The main re ...
- Cross-Domain Security For Data Vault
Cross-domain security for data vault is described. At least one database is accessible from a plural ...
- Retrieving data from a server
A system includes a server and a controller embedded in a device. Both the server and the embedded c ...
- Recover data from reference electrode via EEGLab 用EEGLab恢复参考电极数据
The data of scanning reference electrode will not show initially. Here is a summary of recovering it ...
- arcmap Command
The information in this document is useful if you are trying to programmatically find a built-in com ...
- 翻译-In-Stream Big Data Processing 流式大数据处理
相当长一段时间以来,大数据社区已经普遍认识到了批量数据处理的不足.很多应用都对实时查询和流式处理产生了迫切需求.最近几年,在这个理念的推动下,催生出了一系列解决方案,Twitter Storm,Yah ...
- MYSQL报Fatal error encountered during command execution.错误的解决方法
{MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered during command executio ...
- Basic command and advice for memcached
Storage Commands set Most common command. Store this data, possibly overwriting any existing data. N ...
随机推荐
- 第一章 jQuery基础
第一章jQuery基础 一.jQuert简介 1.什么是jQuery jQuery是javaScript的程序库之一,它是javaScript对象和实用函数的封装. jQuery是继Prototype ...
- URL编码和Base64编码 (转)
我们经常会遇到所谓的URL编码(也叫百分号编码)和Base64编码. 先说一下Bsae64编码.BASE64编码是一种常用的将二进制数据转换为64个可打印字符的编码,常用于在通常处理文本数据 ...
- SpringBoot的HelloWorld 应用及解释
参考链接: Spring Data JPA - Reference Documentation Spring Data JPA--参考文档 中文版 纯洁的微笑:http://www.ityouknow ...
- 【52ABP实战教程】00-- ASP.NET CORE系列介绍
为什么是.net core? 记得在半年前.NET CORE刚刚出了1.0,当时有朋友推荐我使用的时候,个人觉得还不成熟. 现在.NET Core已经到了2.0,.NET Standard 2.0 添 ...
- Python之协程
前言 在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位.按道理来说我们已经算是把cpu的利用率提高很多了.但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建 ...
- 个人网站建设(适合Java初学者)(一)
概述 作为一个在八本学校在校生,没有实验室,也没有项目可做.一直想做一个个人博客,一年前学完javaweb之后做了一个简单的博客,ui惨不忍睹就算了,还有各种bug.酝酿了很久,寒假用了将近一个月时间 ...
- requests-证书验证
import requests #response = requests.get('https://www.12306.cn') #print(response.status_code) #以上会显示 ...
- SQL基础-----DDL
1 (My)SQL入门 这里用了(My)SQL这样的标题,目的是介绍标准SQL的同时,也将MySQL在标准SQL上的扩展一同介绍给读者. 2:SQL分类 SQL语句主要可以划分为以下3个类别 .DDL ...
- rem ~~ 你懂了吗?
前端 开发的适配中 rem 有着举足轻重的位置,用好了,你就是神,用不好 ,直接GG:不好懵懵懂懂,要头头是道. 言归正传: 首先我们需要了解,css 布局的单位常用的有一下几种: 1.px (pix ...
- [LeetCode] Base 7 基数七
Given an integer, return its base 7 string representation. Example 1: Input: 100 Output: "202&q ...