A cainiao like mine saw dnn , liu's eyes are not enough when she enters the Grand View Garden. It took a long time to find the place where the "Opening" button was available. Although E wenjicai, but try to read ~ \ Documentation \ public \ dotnetnuke module developers guide after the document, I still feel quite lucky.
dnn the module structure adopts a three-tier architecture:
L Dal : In Dnn Medium Dal The layer uses Provider Structure. According to my own understanding, we define Dataprovider Which defines the structure required by the module to access data and adopts the single-piece mode. It is also a reflection factory. Inherit different Concretedataprovider . At the same time Web. config Define the default Type String. In this way Instance Returns the default Provider .
L Bll : In this layer. Generally Controller And Info . Controller Is to complete all UI The data source-related functions are required and provided at the same time. Info To UI . Info That is CBO ( Custom Business Object ). In Dnn Medium Info Is provided by the core. CBO Assembly set + Idatareader Directly completed using reflection. Removes the need DS Then the painstaking initialization process. In my understanding, Dr And Cache Can greatly reduce the performance loss caused by reflection, and greatly improve programming comfort and flexibility, usually can be considered as a good solution, do not know this understanding. In SQL , Dnn Used Microsoft. applicationblocks. Data is included in the Assembly set. Generally, my solution is to use a self-written SQL class. I don't know which one is better.
L UI : The main function page inherits from Portalmodulebase Class. This class is also from Usercontrol . I think everyone knows this very well. Generally, menus are implemented in a comprehensive module, Edit , And many other pages. In particular Setting Class to complete different Module . Different Moduleid . (This is my understanding. I don't know if it is like this. I hope you can correct it) Dnn Provides a large number of functions. For example Logging, schedging, search And so on. You can use the interfaces provided by these core components. According to my personal understanding. UI The task completed by the layer is to use Bll Layer, other modules, Dnn Core functions to complete Ascx .
because you are at home, dnn database configuration is always poor, msdn not installed yet. Lack of opportunities for practical exercises. Read the blog , and dnn provides a simple understanding of this document. I hope you can correct me if you read it, so that I will not be confused.