gpt4 book ai didi

c# - 易于品牌化的网站架构

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:31 24 4
gpt4 key购买 nike

我最近参加了一个大型企业系统的演示,其网页可以定制到包括客户添加的字段的程度。按照我的理解,他们的架构由以下几层组成:

  1. 数据库
  2. 网络服务API
  3. 指定布局的 XML 文件
  4. 从 XML 文件生成的网页。

当我被要求调查构建一个可以轻松品牌化的门户网站时,我觉得这是一个很好的方法。现在的问题是如何设计它。

我了解数据库和 Web 服务层,但我对在 .NET 中构建网站的各种可能性感到有点困惑。

考虑到可定制性的要求和上面的架构,以下是我对这些选项的理解:

  1. Webforms——我最熟悉的选项,但它本质上是用代码隐藏丰富了 HTML。我认为可能需要做大量的工作才能让它与 XML 布局的想法一起工作。
  2. WPF - XAML 中间层是内置的,但据我了解,WPF 只能真正用于浏览器应用程序,不能用于网站。
  3. Silverlight - 更多用于构建小程序而不是网站,对吧?
  4. MVC - 这看起来很有趣,但我看到的所有演示也都使用 Entity Framework。在我看来,具有所有自动代码生成功能的 Entity Framework 更适合全新的应用程序。就我而言,我有一个已经存在的非常大的数据库。

如果以上都不合适,我想到了一个替代方案。可以使用返回品牌元素的 Web 服务来创建标准的 Webforms 站点。这与我在顶部描述的不太一样,但足以满足我的需求。

还是我找错了树?

最佳答案

我认为您对 MVC 的批评是错误的。首先,您不需要使用 Entity Framework,其次,即使您使用了,也可以先使用数据库来生成您的实体。

您对 WPF 和 Silverlight 的评估在我看来非常准确。

您可以使用网络表单来完成此操作,但我认为您可能会发现使用 MVC 架构来完成此操作会更简洁。非常简单,如果您使用干净的 HTML 并将所有品牌元素放入外部 CSS 文件( Logo 、颜色等),那么您就已经完成了自定义品牌的一半。甚至不同的布局也可能由 CSS 文件定义(尽管您的最终用户可能更难自定义该外观,因为他们需要非常了解 css)

构建额外的字段可能更加困难:

即兴发挥,我考虑的实现方式是将我在标准数据库布局中的预定义字段(包含用户名、密码、名字等的用户表)和对“自定义字段”使用 Entity-attribute-value pattern

从那里您将需要开发一个可扩展的系统以 1. 使用适当的表单元素(选择、文本输入、文本区域等)从 xml 生成一个页面。 2. 生成一个通用模型,该模型将读取相同的 XML 文件并能够从发布的表单接收数据并知道如何将其保存到数据库(注意在这种情况下,如果它是所有实体属性值,则可能是比标准关系和 EAV 的组合更易于管理)。

您可能希望将 .NET 数据协定视为可序列化实体,以了解如何将 XML 文件设计为可扩展的,以允许诸如“选择菜单具有以下 3 个选项”或文本输入之类的内容必须匹配此正则表达式。

真正关注可扩展性,因为您无法一次构建它。

关于c# - 易于品牌化的网站架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11384936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com