Aehyok.com's growth path 3-Framework Structure and aehyok.com's growth path
Preface
First, we provide the personal website address: aehyok.com.
The road to aehyok.com's growth-the first section mainly describes why you set up your own website and the general direction of your personal website.
Aehyok.com's Growth Path 2-Technology Selection briefly summarizes the technologies used during website construction or in the future.
This blog briefly introduces the current website architecture and ideas. Of course, this greatly benefited from @ Guo Mingfeng's open-source framework and his guidance.
I have recently established a QQ technology group. All the source code involved in my personal website will also be shared in the group. You are welcome to stay here.
The group account is 206058845. Remember that the group verification code is aehyok.
Brief description of framework project structure
1-Infrastructure (Infrastructure)
1. aehyok. Utility: common technical tools
Description: it encapsulates common technical-independent auxiliary tool functions.
Dependency: None
2. aehyok. Model: definition of various object classes
Note: 1. Business Entity model
2. Data Transmission Model
3. display view Model
Dependency: None
3. aehyok. Core: Core Component of the aehyok framework
Note: 1. Defining the core of the aehyok framework is the skeleton for running the entire framework.
2. This skeleton provides basic interfaces or base classes for data storage, logs, caches, permissions, and other modules, but does not provide specific implementations.
3. The business layer depends on the interfaces and base classes at this layer for business operations, rather than the specific implementation.
4. The interface defined at this layer and the specific implementation of the base class can be replaced. To meet the needs of different businesses for basic module functions.
Dependency: aehyok. Utility
4. aehyok. Core. Data. Entity: EntityFramework Data storage component
Description: 1. Provides the EntityFramework implementation solution for the data storage function defined in aehyok. Core.
2. Database initialization Policy
3. Business Entity class ing
Dependency: 1. aehyok. Utility
2. aehyok. Model
3. aehyok. Core
4. EntityFramework
2-Application (Application interface and corresponding implementation)
5. aehyok. Contracts: Service Contract Layer
Description: interface definition that includes business functions
Dependency: 1. aehyok. Utility
2. aehyok. Core
3. aehyok. Model
6. aehyok. Services: Service Implementation Layer
Description: includes data function initialization and service function implementation.
Dependency: 1. aehyok. Utility
2. aehyok. Model
3. aehyok. Core
4. aehyok. Core. Data. Entity
5. aehyok. Contracts
3-Presentation (various visual UI Presentation layers)
7. aehyok. WebMvc and aehyok. Admin. Mvc: front and back-end Web presentation layer
Description: frontend and backend UI presentation layer
Dependency: 1. aehyok. Utility
2. aehyok. Model
3. aehyok. Core
4. aehyok. Core. Data. Entity
5. aehyok. Contracts
6. aehyok. Services
4-UnitTest8. aehyok. UnitTest: Unit Test Description: The unit test is still dependent on various items that can be depended on.
Brief description:
1. Interface-oriented development, and then access the coupling between modules through IOC.
2,Aehyok. Core: Provides basic interfaces or base classes for data storage, logs, caches, permissions, and other modules.
3,Aehyok. Core. Data. Entity: EntityFramework data storage component. Obviously, this layer is the interface and base class for implementing the data storage component in aehyok. Core. Why is this design? In this way, it can be replaced. For example, if your current project is developed using EntityFramework, the Project Manager suddenly says that EntityFramework cannot meet our system's requirements. Now we have decided to use nhib.pdf, now, you only need to research and implement the layer and perform IOC injection. No code on other layers needs to be modified (this is what you think for the time being, I don't know how difficult it is to implement it ).
4,Aehyok. Core. Logging. Log4Net: Log4Net log component. This layer is also the interface and base class for implementing log components in aehyok. Core. It can also be replaced. You can implement it by yourself, or use other log components NLog and so on.
5. There may be Cache components and permission components. Of course there may be other components ...... It can be replaced.
6. aehyok. Contracts and aehyok. Services are the business logic layer. Implementation. For the UI Layer to call.
7. Of course, it is best to consider how to display the UI Layer. For example, the Bootstrap template is used in the background for development. Then a company suddenly thinks this framework is very good and wants to buy your source code, but they are not familiar with Bootstrap, or you do not want to use Bootstrap or other front-end UI frameworks. It is unclear whether MVVM can achieve good decoupling of the front-end UI.
8. There may be other unknown problems. For the moment, there are so many questions to consider. In the future, we must constantly improve our thinking. The plan has not changed fast, but there is no plan for any changes?
Summary
My website is still constantly updated. Although the update speed is as slow as a snail bait, my website is still improving day by day and I am accumulating a little bit. The above only lies in the Study of Technology, regardless of the project size, technical learning costs and other practical factors associated, in fact, I am trying to learn technology and make myself grow.
I recently set up a QQ technology group. Currently, there are not many people in the group. I joined the group when I wrote my previous blog. As I recently used TFS OnLine, I have seen that it is a powerful tool for team development projects. I want to learn more. All Source Code related to my personal website will also be shared in the group. The group account is 206058845. Remember that the group verification code is aehyok. You are welcome to stay here .. We look forward to growing together. At the same time, I hope that I can keep learning.
Finally, we will provide another personal website address: aehyok.com.
Personal website address: aehyok.com
QQ Technical Group No.: 206058845, verification code: aehyok
Article link: http://www.cnblogs.com/aehyok/p/3946286.html
Thank you for reading this article. If you are interested in the content described in my blog, please make a suggestion. Thank you for your support:-O.
Political compulsory three Framework Structure
Please help the political experts. Make sure to use the framework structure. Thank you.
High school political compulsory three knowledge induction framework structure
I have a political counseling book at hand. You can go to the bookstore to find it... This kind of stuff is hard to come up ..