Architecture sharing of open source projects

This sharing is the idea and style of some open source project architecture I referred to when developing a system.

The first is jeesite. Its architecture style is as follows:

If you are interested in jeesite, you can find it by Baidu search, but it was more than half a year ago, and jeesite has changed a lot at present.

When I first referred to the idea of jessite, I didn't know why I didn't join module. In fact, from the current point of view, it's also a good thing to add module. Module is a module, which extends functions through modules, which coincides with my current idea of expanding functions with services.

Jeesite's common idea has been adopted by me. At present, common is mainly used to place common tool classes. However, because we have introduced the hutools open source project, common is mainly some data transmission classes, such as dto, queryvo or other custom tool classes.

I didn't adopt the core idea of jeesite. I still use the idea of service to abstract public modules, such as menus, permissions and users, into a public service.

Jeesite's Web thinking is the same as what I'm doing now, but I think that once the modules are split and distributed in the later stage, I can easily separate them through the service thinking, but my service module coupling degree should be as low as possible and the cohesion should be high. Otherwise, once the modules are split, it means reconstruction. You should know that if you can't reconstruct, try not to reconstruct, Refactoring is a painful thing. Many development teams of small and medium-sized companies often make mistakes in order to achieve functions without considering the code quality. Of course, objectively, they have to do it because of the urgency and urgency of the business. I remember that the first project has given me enough shadow. I don't want to fall into an endless loop because of code quality problems (changing bugs, changing bugs, which is a fatal thing).

In addition, a highlight of jeesite is technology selection. Its technology selection can be said that Java developers are familiar with both the background and the front end. At present, the information is also very complete, and it is not particularly difficult to learn. However, jeesite is still not open source, which is an important reason why I didn't adopt it at the beginning. In my opinion, open source means that the source code is open to the outside world. Once there is a problem, I can solve it by looking at the source code. Although there is a possibility that I can't understand it, it's better to look at it than not. This is also my consistent style.

The second is ibase4j. Its architecture style is as follows:

This of it is better understood

Ibase4j biz facade stores entity, service, etc

Ibase4j biz service stores Dao, its XML and implementation classes, as well as configuration classes

Ibase4j biz web stores the corresponding controller and configuration class

However, I personally think its architecture design is not particularly good

If I design the ibase4j biz facade, I will directly the entity, Dao, service and XML files. Ibase4j biz service is dedicated to the implementation class. I personally think it looks better than the ibase4j native design both visually and logically.

Of course, there is a good saying, "beauty is in the eyes of lovers" or "a hundred people and a hundred Hamlets". In a word, everyone has everyone's ideas.

As for ibase4j sys, it is actually the same as ibase4j biz I mentioned above.

The third is renrne security. Its architecture is as follows:

I think its architecture is suitable for springboot application development. Renren admin is usually a background management system. Renrne API is used to manage interface documents. It can also be introduced into admin as an independent application. Common doesn't need to say much. I think it has been described in detail in jeesite above. Generator, web online code generator, I have also written. For those interested, please refer to my blog: https://www.cnblogs.com/youcong/p/9494892.html (JavaWeb online code generator)

I think the comparison of Renren open source is close to me, so when designing the multi tenant architecture, the first thing I thought of was Renren open source, but I didn't understand the relationship between them and didn't consider the limitations of technology, so I paid more than a week's time cost.

The code generated by Ren generator can be zipped by clicking on the table (batch selection is supported), but I think my online code generator is better than it, but the only disadvantage is that I don't consider permissions, so my code generator is not particularly perfect, but it is still helpful to improve development efficiency.

Summary:

There are three open source projects shared today, namely jeesite, ibase4j, Renren open source, etc.

To share these three projects, what I want to tell you is not to learn how to use them, but sometimes, when developing and designing, if you don't have ideas, especially architecture design, you can refer to open source projects. Maybe you will have unexpected gains.

I remember Xunzi said, "a gentleman is not different, and he is good at falsehood in things". In this way, encourage with it friends.

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>