三层体系结构总结(六)
Model类型:
加入两个构造函数 付值和缺省
去掉ModelList类型,使用List<Model>代替,可以在相应的Model中加入得到List的方法
对于有关系的列表,还是使用DataSet比较方便
DAL
对于读取数据,不必加入Try{}Catch{}
对于操作数据库时出现的问题可以使用自定义的异常处理方式
使用Partial将带有业务逻辑的方法和普通的添查删改方法分开
BLL
加入缺省构造函数和对应DAL实例
使用Partial将带有业务逻辑的方法和普通的添查删改方法分开
UI
按模块划分,设置文件夹
最外层只留下公共页面,如Login, ErrorPage
添加和编辑可以使用同一页面,对于添加时的主键可以设置为0,在BLL层中判断具体调用DAL中的什么方法
对于传递的参数,最好使用对称加密方式,提高安全性
自定义异常处理
在这点时间的项目中,发现有些异常被抛出后,不能正常抛到报错页面进行处理,实际上可以在Catch的时候进行处理,记录错误
在这次项目中发现如果是post back时发生异常,应用程序是不能重新转向报错页面的,所以使用自定义的异常处理
权限控制
对于操作权限和浏览现在还是分成两套页面,不过现在有一种想法是对于操作按钮在初始化界面时进行权限判断,以减小页面数量
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构