如何决定是否拆分VB.Net应用程序,如果是,如何拆分?
我有2年半的VB.Net经验,大部分是自学的,所以如果我看起来还是很不懂,不懂一些基础知识,请容忍我。我建议你在开始之前先喝杯茶,因为时间似乎已经很长了 我目前有一个相当大的应用程序(VB.Net网站),在最后一次计数时,代码超过15000行。它不做零售或任何特别复杂的事情-它实际上只是一个批发浏览网站,带有管理前端、目录/目录管理系统和页面浏览系统 我真的不太了解.Net应用程序在后台是如何工作的-它们是否都加载在同一个线程上,或者是否每个应用程序都有自己的线程。。。我只知道如何编写代码,或者至少我喜欢这样认为…:-) 基本上,我的应用程序设置如下:如何决定是否拆分VB.Net应用程序,如果是,如何拆分?,vb.net,web-applications,architecture,Vb.net,Web Applications,Architecture,我有2年半的VB.Net经验,大部分是自学的,所以如果我看起来还是很不懂,不懂一些基础知识,请容忍我。我建议你在开始之前先喝杯茶,因为时间似乎已经很长了 我目前有一个相当大的应用程序(VB.Net网站),在最后一次计数时,代码超过15000行。它不做零售或任何特别复杂的事情-它实际上只是一个批发浏览网站,带有管理前端、目录/目录管理系统和页面浏览系统 我真的不太了解.Net应用程序在后台是如何工作的-它们是否都加载在同一个线程上,或者是否每个应用程序都有自己的线程。。。我只知道如何编写代码,或者
- 有两个不同的区域-客户区域和管理前端
- 客户前端的主要部分是目录。母版页将加载一个产品列表,但仅此而已,这对于所有客户前端页面都是通用的
- 在上传更改之前,我倾向于一次只处理应用程序的一个或几个部分。因此,例如,我可能会改变目录的层次结构,并更改目录页面以匹配层次结构的更改,而不考虑其他内容
- pageview数据库变得非常大,因此由于其工作方式的原因,当应用程序第一次被请求时,它会变得非常缓慢
- 应用程序超时设置为5分钟-不知道如何更改它,我甚至尝试在这里问这个问题,似乎还记得解决方案非常复杂,建议我不要更改它,但如果客户在最后一次页面查看后5分钟请求应用程序,它将从头重新加载应用程序。这意味着当页面加载超过5分钟不活动时,页面加载速度会非常慢
- 顶级的Manager类,管理员前端使用它添加、编辑和删除指定类型的项目,客户前端使用它检索指定类型的项目列表。例如,“RangeManager”将包含产品“范围”列表,并将用于从客户前端与这些产品进行交互
- 包含属性列表的项类,例如Range。例如名称、描述、可见、已创建、已创建等等。用于添加/编辑循环以向管理员显示相关控件的表单。例如,布尔属性的复选框
- 属性类,可以是StringAttribute、BooleanAttribute、IntegerAttribute等类型。还有一些自定义属性(不仅仅是数据类型),如RangeAttribute、UserAttribute等。这些被赋予了一个数据字段,用于在第一次请求时获取特定于所包含项的数据。基本上,该项被赋予一个DataRow,只有当属性第一次被请求时,它才被属性存储和访问
- 当从特定的管理器请求一个项时,管理器将遍历数据库中的所有项,并创建该项类的新实例。例如,当从RangeManager请求范围时,RangeManager将循环遍历Ranges表中的所有数据行,并为每个数据行创建一个新的Range实例。如上所述,它只是使用DataRow创建一个新实例,而不是将所有数据加载到DataRow中然后再加载。属性本身在第一次被请求时从数据行获取相关数据