Back to Java and look at the company's projects.
1, the website made a full static page, using Freemarker for static.
Any modification or data modification requires the background to generate a static page, so that the foreground can access the page directly, without requiring requests, unless some dynamic data is required to make the AJAX request.
C # used to be a control request path, once accessed to generate static files, this does not require a unified generation file.
I hope that Java has improved in this respect, and maybe I'm not sure about other technologies.
2, MVC responsibility.
When we used to do Java, we found that action handles jumps, does not handle logic, and service handles logic.
Then the project here is not clear enough, action should not be to deal with logic, try to get service to deal with, so service can be reused, responsibilities are clear.
3, module packaging.
Using the SPRINGMVC framework, you see that the code is in a jar package, and that the modules inside are no longer reusable.
When doing C #, all the underlying modules are set up separately, and when other projects are used, they can be copied directly to the past.
The technology of module packaging was also supported when using the Java OSGi Framework.
But to do the product, in a package also does not have much influence, reuse is for many projects to use the same thing.
4. Manage the framework of the previous paragraph.
Found that the company's project did not use any of the previous frames, previously used Dwz,kendo,easyui,jqueryui and the like.
However, without the use of frames, loading speed quickly, looking at the demand. Is the pursuit of rapid development or friendly access.
5, the database.
MySQL's paging uses the limit query. No top.
Oracle and SQL Server use ROWID.
Experience summarizing some associations of 44-java and C #