zka*_*oca 0 c# asp.net oop inheritance
我开发了一个在头版和控制面板上都具有CRUD功能的网站.我看到我在尝试连接和CRUD时为每个页面编写了相同的代码.
我没有足够的时间研究如何优化我的代码,我刚刚写了我需要的东西.我也受了伤.但我没有机会了.
例如:
我有一个数据库,当然我需要一个连接字符串.我需要将记录读入页面(比方说)blogs.aspx.在另一个页面news.aspx我需要再次建立一个新连接,我创建一个新的Sqlconnection实例.
正如我所说,我现在有超过40页,并且有很多重复的数据库连接,datagridview填充代码.
我的问题:
它是在母版页(Site.Master)中定义Connection,DataTable,DataAdapter,Command实例的好方法吗?或者封装概念会阻止我吗?
如果我写了一个名为konnekt.cs的类,我将如何将其对象继承到当前页面?换句话说,我如何从当前页面扩展到konnekt.cs?
也许我会得到负面投票,但我认为这种风险值得学习这些概念.我是c#以及其他编程语言的新手.
谢谢你的提示.
你需要做的是学习"关注点分离"的概念.这基本上意味着你根据它的作用划分你的代码.现在(根据我从您的问题中所理解的),您的所有代码都在一个地方.就像你注意到的那样,这不是一件好事.当然它现在有效,但是一旦你需要进行修改,你就会遇到问题.
在最基本的情况下,您需要分离操作数据库中的数据的代码(通常称为数据访问层)和显示该数据的代码(表示层).当加载页面(表示层)时,它调用数据访问层以从中获取数据(页面不直接调用DB),依此类推.通常,在这两者之间存在第三层,称为业务层,具有业务规则逻辑.
它是在母版页(Site.Master)中定义Connection,DataTable,DataAdapter,Command实例的好方法吗?或者封装概念会阻止我吗?
那不是个好主意.母版页属于演示文稿,所以把任何东西放在那里直接调用数据库是不行的.
如果我写了一个名为konnekt.cs的类,我将如何将其对象继承到当前页面?换句话说,我如何从当前页面扩展到konnekt.cs?
再一次,永远不要直接从您的页面调用数据库.构建连接到数据库另一个类,并让网页调用那个类.
| 归档时间: |
|
| 查看次数: |
331 次 |
| 最近记录: |