Asp.net 如何构建网站或构建应用程序所涉及的步骤?

Asp.net 如何构建网站或构建应用程序所涉及的步骤?,asp.net,design-patterns,c#-4.0,architecture,Asp.net,Design Patterns,C# 4.0,Architecture,我需要知道如何构建web应用程序。我设计了一个网站,更像是一个买卖网站。我设计并编码了它。这仍然是一个测试版&我想知道一个软件架构师如何创建这个网站。 网址 我使用ASP.NET4.0成员资格和配置文件来存储某些信息,并创建了其他链接到用户成员资格表等的表 我使用MS SQL SERVER作为后端 我感兴趣的是了解一个软件架构师如何一步一步地开始这个网站项目,以及这个项目应该使用什么设计模式。我需要知道这一点的学习目的,以便我可以采取一个专业的方法在未来的其他项目 注意:*没有ASP.Net M

我需要知道如何构建web应用程序。我设计了一个网站,更像是一个买卖网站。我设计并编码了它。这仍然是一个测试版&我想知道一个软件架构师如何创建这个网站。 网址

我使用ASP.NET4.0成员资格和配置文件来存储某些信息,并创建了其他链接到用户成员资格表等的表

我使用MS SQL SERVER作为后端

我感兴趣的是了解一个软件架构师如何一步一步地开始这个网站项目,以及这个项目应该使用什么设计模式。我需要知道这一点的学习目的,以便我可以采取一个专业的方法在未来的其他项目


注意:*没有ASP.Net MVC相关示例*

您可以从该项目中学到很多东西。它们利用行业最佳实践提供了坚实的基础。他们甚至有VS模板

发音为“尖锐的建筑”,这是一个坚实的建筑 快速构建可维护Web应用的基础 利用NHibernate的ASP.NET MVC框架。小学 使用任何体系结构框架的优势在于 减少必须编写的代码,同时提高代码的质量 最终产品。框架应该使开发人员能够花费很少的时间 关注基础架构细节,同时让他们能够集中精力 关注领域和用户体验。因此,S#arp 架构遵循以下关键原则:•专注于 领域驱动设计•松散耦合•预配置基础架构 •开放式演示—此演示的总体目标是允许 开发人员不必担心应用程序的“管道”问题,也不必花钱 他们的大部分时间都集中在为客户增加价值上 业务逻辑和开发丰富的用户体验


网上有很多关于如何做到这一点的优秀资源

这里有两个我推荐的


这是《Microsoft.Net企业应用程序体系结构》一书的源代码示例,这是一本非常好的读物。它介绍了大量的设计模式/思想,包括数据访问层、业务层和ui层。

这是一个非常广泛的问题。但对我来说,我总是使用三层方法

  • 顶层(表示层)。这将是与特定用户界面相关的所有asp.net代码

  • 中间层(业务逻辑)。这将是与代码相关的特定业务逻辑

  • 底层(数据层)。这将是所有的数据库代码

  • 在三层架构上进行谷歌搜索


    基本上首先定义系统级目标

    • 您的响应时间应该是多少
    • 是否需要在数据/支持服务方面进行任何类型的维护工作
    • 你需要国际化吗
    • 了解不同的组件,了解不同组件之间的关系以及如何将它们分开
    • 选择一个发展框架
    • 了解您的可扩展性需求,这将取决于您的许可成本和决策
    • 了解您的硬件,了解您可以利用它的程度,以及最大值是多少。这将定义边界

    就某些方面而言,这是一个广泛的话题,但是能够分离出您的软件并能够进行扩展/调优/测试,无论您采取何种方式,这都将是一个基本的帮助

    从软件架构的角度来看

    首先,如果它只是一个网站,它仅仅是一个UI(用户界面),因此它更多的是一个视觉设计和UI问题,处理它的软件部分将是一个软件架构师的问题,即网络和主机等加上优化(当然没有cms)

    现在,如果它是一个需要动态数据的网站,或者有一些处理数据的交互方式(所有的网络都是数据),包括cms系统等,那么它确实需要软件架构和不可知技术。您可以使用任意数量的技术来实现您的目的,无论是(.net)wisp堆栈,还是(php)(lamp)堆栈,或者adobe堆栈或java堆栈

    需要再次理解的重要一点是,web只是一个视图,软件的其他核心(我称之为软件而不是web)是软件架构师的领域。当然,将有一组单独的特殊特权来处理特定的UI。Web只是一个UI,就像控制台、桌面程序或移动应用程序一样。它们可能都有相同的底层内核,但在所有这些设备上呈现的方式不同,呈现的UI也不同

    现在,因为你关心的是一个网站,有很多人会建议不同的架构等,但我想说的是,除了许多人会说去学习不同的技术等

  • 创建尽可能最解耦的体系结构,我的意思是一个可以随意更改的软件,即一个工作于抽象(接口或抽象)而不是具体的软件。在.net framework中,由于这个问题在.net部分中有标记,所以您可以使用开源或microsoft unity作为依赖项等。要学习这些概念,您需要大量阅读。这也是最易于维护的软件设计

  • 创建一个数据不可知的响应来访问数据,以便在客户需要时可以插入不同的数据库

  • 创建最具可维护性的代码,代码中的内容不会像神奇的字符串那样分散,而是易于修改

  • 寻找GOF设计模式来解决一般问题

  • 设计面向服务的体系结构,