DNN模块结构学习

简介:
像我这样的菜鸟一开始看到DNN时,像刘姥姥进了大观园眼睛都不够用了。找了好久才找到能“下口”的地方。虽然E文很菜,但努力读完 ~\Documentation\Public\DotNetNuke Module Developers Guide 文档后,还是感觉颇有所得。
DNN 的模块结构采用的是三层构架:
l          DAL :在 DNN DAL 层采用了 Provider 结构。按我自己的理解,就是先定义一个 DataProvider ,里面定义好模块访问数据需要的结构的,采用了单件模式。同时它是一个反射工厂。根据不同情况继承出不同的 ConcreteDataProvider 。同时在 web.config 中定义好默认的 Type 字串。这样通过 Instance 返回默认的 provider
l          BLL :在这层中。一般都有 Controller Info 两部分。 Controller 的作用是完成所有 UI 需要的于数据源相联系的功能,同时完成并提供 Info UI Info CBO Custom Business Object )。在 DNN Info 的建立是利用核心提供的 CBO 装配集 +IdataReader 利用反射直接完成的。免去了由数据库到 DS 再到苦力般的初始化过程。在我理解中, dr cache 的利用,都可以极大减少由反射引起的性能损失,而极大提高编程的舒适性和灵活性,通常可以视为很好的解决方式,不知道这种理解对不对。在涉及 Sql 的部分, DNN 利用了 Microsoft.ApplicationBlocks.Data这个装配集中的内容。一般我的解决方法是利用自己写的一个Sql类,不知道哪种更好。
l          UI 主功能页继承自 PortalModuleBase 类。这个类也是从 UserControl 继承而来。我想这个大家都会很了解。一般一个全面一点的模块都会实现菜单, Edit ,等很多页面。特别会拥有一个 Setting 类来完成页面不同的 Module 的设置。通过不同的 ModuleID 来区别。(这是我的理解,我也不知道是否是这样,希望高手门指正) DNN 的核心提供了大量的功能。如 logging,scheduler,search 等等,可以通过这些核心提供的接口来实现。按我个人的理解。 UI 层完成的任务就是利用 BLL 层,其它模块, DNN 核心功能来完成 ascx 的建立。
由于在家里, DNN 数据库一直配置不好, msdn 又没装。缺少实践练习的机会。只是通过阅读团队各前辈的 blog ,和 DNN 的文档获得的一些浅显的认识。希望各位大虾如果看了的话,能够指正,免得我深陷泥潭而不觉。









本文转自 duguguiyu 51CTO博客,原文链接:http://blog.51cto.com/duguguiyu/362838,如需转载请自行联系原作者
目录
相关文章
|
机器学习/深度学习 算法 PyTorch
OpenCV-图像着色(采用DNN模块导入深度学习模型)
OpenCV-图像着色(采用DNN模块导入深度学习模型)
190 0
来自OpenCv的DNN模块助力图像分类任务
来自OpenCv的DNN模块助力图像分类任务
198 0
来自OpenCv的DNN模块助力图像分类任务
|
机器学习/深度学习 人工智能 算法
不确定性助益学习准确率,GPU训练预测性DNN误差更少、效果更好
有学者发现在 GPU 而不是 CPU 上训练的机器学习系统在训练过程中可能包含更少的误差,并产生更好的结果。这一发现与一般的理解相矛盾,即 GPU 只具有加速功能,而不是使训练结果更好。
不确定性助益学习准确率,GPU训练预测性DNN误差更少、效果更好
|
机器学习/深度学习 算法
DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程
DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程
DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程
|
机器学习/深度学习
DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测
DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测
DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测
|
机器学习/深度学习 Java
DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、GC对比
DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、GC对比
DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、GC对比
|
机器学习/深度学习 算法
DL:深度学习模型概览(包括DNN、CNN、RNN等)的简介、网络结构简介、使用场景对比之详细攻略
DL:深度学习模型概览(包括DNN、CNN、RNN等)的简介、网络结构简介、使用场景对比之详细攻略
DL:深度学习模型概览(包括DNN、CNN、RNN等)的简介、网络结构简介、使用场景对比之详细攻略
|
机器学习/深度学习 前端开发
介绍一些免费的DNN模块
Administration Advanced Control Panel Free fully featured ajax enabled control panel replacement for Dot...
852 0
|
机器学习/深度学习
如何使用NAnt 自动打包DNN模块 之一
一、安装NAnt 每次开发完毕一个DNN模块的版本,打包DNN模块是一件很繁琐的事情。更重要的是,为每一个发布的版本做一个安装包如果用手工管理和容易出错。这里介绍一下如何使用NAnt自动打包模块。 首先需要下载NAnt,http://sourceforge.net/projects/nant/ 下载之后解压这个ZIP包 解压之后的目录重名名为NAnt,拷贝到c:下面。
976 0
|
机器学习/深度学习 SEO
介绍几个DNN SEO模块,可免费试用的
iFinity Url Master - Get the best SEO results by taking control of your DNN urls iFinity Tagger - Tag your DNN content and create specific, target...
635 0

热门文章

最新文章

下一篇
DataWorks