- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我最近参加了一个大型企业系统的演示,其网页可以定制到包括客户添加的字段的程度。按照我的理解,他们的架构由以下几层组成:
当我被要求调查构建一个可以轻松品牌化的门户网站时,我觉得这是一个很好的方法。现在的问题是如何设计它。
我了解数据库和 Web 服务层,但我对在 .NET 中构建网站的各种可能性感到有点困惑。
考虑到可定制性的要求和上面的架构,以下是我对这些选项的理解:
如果以上都不合适,我想到了一个替代方案。可以使用返回品牌元素的 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/
p { font-family: "Comic Sans",sans-serif; } #div1 { width: 7.5%; height: 100px;
我很快就会在费城的 Code Camp 上发表关于持续集成的演讲。我没有熔岩灯、环境球或其他任何东西的经验 - 但我认为这将是对演示的一个很好的补充,激发热情。 任何人都可以推荐一款非常易于设置/使用
我是一名优秀的程序员,十分优秀!