Looking at this problem, let's look down at how many projects are there in your solution?
The answer to this question may be 25, 45, 50, and more. At the same time, some people complain that my computer is too slow !! I want to compile too many projects at the same time. Then we started to need more memory and better computers. But the problem is that we really need so much memory and so powerful computers to compile ourProgram? If your company has a large framework, almost all projects need to reference more than five frameworks, which means that your project has not started yet, you have five projects to compile.Code, The three-layer structure is taken into account, then more than a dozen projects will be standard project equipment.
For direct referenceSource codeIn fact, I have never quite agreed with it. There are also many discussions on this issue on the Internet. The primary consideration for using such a structure was to allow programmers to expand the framework more conveniently. In fact, every developer is the same. If the problem can be solved quickly, so everyone is reluctant to spend time writing usable code. However, for small and medium-sized software companies, we do not have a multi-fund to hire people to maintain their own frameworks. However, if there is no such thing, our development will always be repetitive. Based on our actual situation, if the development team did not adhere to the direct code reference method, and the programmer is required to expand the project while opening the project, we cannot have such an expanded framework, but it is not perfect yet. However, our framework already has more than 50 modules, covering system configuration, exception handling, database maintenance, report maintenance, Active Directory Access, and security. Very proud.
Haha, it seems a little difficult, but what I mentioned above is indeed a lot of advantages of using direct code reference. We have been using the above development method for about two years. Recently, we have changed all references to the DLL mode. I still remember the pleasure of deleting the long string of framework references. However, when we started using this mode, it was inconvenient to directly modify the code in the framework. We know that we are still looking for a solution with both benefits.
Benefits of project reference pros direct source code reference:
1) Easy For programmers to expand the framework
2) Easy debugging
3) reduce the development team's staff overhead, and each program has all the Code, without the need for dedicated personnel to maintain
Cons disadvantages:
1) not conducive to Version Control
2) The project structure is complex and difficult to manage
3) increase team dependencies. If multiple teams use one framework at the same time, any changes will involve all teams, it is often because of one person's transactions that lead to the stagnation of multiple projects (I was overwhelmed by the delay of two projects due to the default setting error of one variable ).
I think for small software companies, especially those still in the knowledge accumulation stage, it is more suitable to use direct source code reference, because this can accelerate the company's knowledge accumulation, and give all team members more access to the company's core code opportunities, which is conducive to the cultivation of the team.
If a relatively large software company has the strength to support specialized framework development, it should use the DLL method and implement corresponding internal version control, this ensures the project development progress and quality.
The above is my personal opinion and I hope to discuss this issue with you.