如何构建元数据驱动的通用系统

发布于 2024-11-01 13:41:19 字数 431 浏览 1 评论 0原文

我正在构建一个元数据驱动的资产管理系统。 该产品有一个资产的概念。有预定义的资产类型,客户可以通过提供自定义资产类型来扩展系统。

我计划使用元数据层来实现这一点。

每种资产类型的元数据将存储为 xml。 它看起来像这样:

<assetType>
<name></name>
<displayName></displayName>
<primaryKeys></primaryKeys>
</assetType>

我将从这个 xml 中序列化出一个 AssetType 类。

客户将提供自己的 xml,将自定义资产类型插入系统中。

我正在尝试在这里集思广益所有可能的解决方案。 除了xml之外还有其他方法来编写这个模块吗?

I am building a meta data driven asset management system.
The product has a concept of assets. There are predefined asset types and the customer can extend the system by providing custom asset types.

I plan to implement this using metadata layer.

The meta data for each asset type will be stored as xml.
It will look like this :

<assetType>
<name></name>
<displayName></displayName>
<primaryKeys></primaryKeys>
</assetType>

I would have a class AssetType serialized out of this xml.

Customers will provide their own xml to plugin the custom asset types into system.

I am trying to brainstorm on all possible solutions here.
Is there any other way to write this module other than xml ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

娇俏 2024-11-08 13:41:20

您可以编写自己的 DSL

您可以使用另一种格式的结构化文本。

表示数据的方式有无数种。

选择人类和计算机都可读的东西 - XML 似乎非常适合这个要求(并且得到了很好的支持,它可以很好地跨平台)。

编写自己的 DSL 会需要更多工作,但如果您使用它分发自己的解析器/验证器,则可以确保客户端仅写入有效数据。

You can write your own DSL.

You can use another format of structured text.

There is an infinite amount of ways you can represent the data.

Choose something that is both human and computer readable - XML seems to fit the bill quite well (as well as being well supported it crosses platforms well).

Writing your own DSL will be more work, but if you distribute your own parser/validator with it, you can ensure that clients write valid data only.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文