Metadata Programming in dummy

什么是Metadata Programming? 在网上看到一段挺精辟的总结 

主要是从三个维度来表达Metadata info

Store Application Configurations in Metadata

Configuration settings are critical to software applications and are very likely to change frequently. Storing configuration settings or any item that resembles configuration data within metadata allows applications to be highly configurable and adaptable to change. Whether storing user preferences, database connection settings, or the enabled/disabled state of a feature, storing metadata in an application's configuration file is incredibly powerful. This practice promotes application extensibility and customization without actually recompiling or redeploying the software.

【这个大多数的应用都能有】

Store Application Details in Metadata

Software applications contain a lot of details, such as user interface definitions like menu contents, default feature configurations, and other generally descriptive elements of the software. By storing this type of information within the code, the flexibility and maintainability of the application user experience is severely limited. As a rule, user interface definitions similar to the previous examples should be decoupled from the code and stored in metadata. Simple strings should be stored in .RESX files to enable localization, and other user interface metadata should be managed within the application's configuration file or files. Following this guideline will help improve the flexibility and maintainability of the application over time, because user interface changes will be possible without redeploying the application.

【Soap WebService里WSDL的定义应该是属于这一类吧】

 

Drive Application Behavior with Metadata

Beyond storing metadata for simple preferences and user experience definitions, application developers should endeavor to drive application behavior through the use of metadata. This general principle promotes construction of more generic and reusable algorithms, which rely on metadata at run time to govern their behavior. By promoting code reuse, application developers inherently reduce the risk of introducing bugs into the software as new features are added. Additionally, by creating generic algorithms and abstracting the run-time instructions into metadata, the adaptability of the overall application is increased.

【这个是最最复杂去支持的,而且不同的编程语言可能提供的支持也不一样】

 

回到现在工作的产品当中:

1. Application的Metadata是什么: Doc Engine

2. Client的Metadata 是什么? Form Definition for rendering

3.Server的Metadata是什么? Dbdict

原文地址:https://www.cnblogs.com/buhaiqing/p/3047225.html