(Return to noon yesterday) after lunch, I want to download the latest version of codesmith (5.2) in the morning and check the csla framework it generates.CodeAfter a while, there were a lot of exceptions. I thought it was a problem with the software. After visiting their e-paper, I found that there were many more steps than 2.0, and finally I got it done, I was surprised by the fact that the new version (3.8) contains more things than 2.0. Here, the amount of code generated is much larger !! Classes have also become nested, separating businesses, attributes, data portals, and Other forms by Department classification, and attaching a lot of fragmented operations such as onfetching, it may be because there are too many client technologies, but the framework seems to be a bit scattered, but it can be deleted if it is used normally.
I thought that the idea of 2.0 would be moved to 3.6/3.8, but it was indeed moved. However, the changes in the framework source code are quite large and more intelligent, especially for Attribute operations, the encapsulation is really amazing. After several tracking times, I realized that it was not as concise as it was in 2.0, and suddenly it felt as cool as it was in 2.0...
After developing the small system of drug management, I suddenly found that my thoughts were bound. I felt like I had found the best idea when I first came into contact with the petshop-style ordinary three layers, the most ideal solution is csla's full use of getter and setter attributes, whether it is the number of interfaces It opens to the "customer" or the idea of business processing, the process from business Verification creation to business checkrules, encapsulation and processing of data portals, and the distributed configuration of multiple machines through configuration. There are many functions and powerful functions, however, there seems to be a problem in the design of the business object, or there is no good solution. There is an inheritance relationship in the object, and I don't know how to solve this inheritance in this framework, however, there is no problem with object combination. A typical concept is the parent-child relationship (whether it is a single object or a collection object ), the parent object has the responsibility to load data to the child object (that is, the data of the Child object comes from the data provided by the parent object), and has the right to track the child object...
I just came up with a question. Due to the idea of DDD, it generally proposed the separation of business data operations and database data operations. That is to say, business data and relational data do not correspond to each other, even more bluntly, business objects do not care about how data is processed. These processes are all handled by the infrastructure layer. There is a problem here, that is, the ing between business object data and relational data, generally, we implement SQL queries, linq2sql, EF, and so on. After the query is made, it is directly mapped to the entity, to solve this non- ing relationship, map the relational data to the business data again. As a result, the data transfer process is one step more, whether it is Data Reading or updating, what will happen to performance problems? This is also true for csla, which has not been tested. I am just worried that although data operations will be processed by moving objects to the server, this is not a performance cost at all, or is this a balance between performance and expansion ..
Of course, for a framework or a technology, it must be put in one type, or a type of application field, as in the design mode, it is used in the correct place to show its advantages.
(ArticleThere is no "scientific basis" for the content, just as you wish)