Our group members: Yan Ting, Zhou Wenxiang
Information hiding: When designing and determining a module, the specific information (process or data) contained within a module is inaccessible to other modules that do not require that information.
Our group this assignment is embodied in the first time the job added a part of the function after the code, using C + + write the bottom, C # interface way. C # calls the C + + generated DLL, a total of only call a method, that is, by clicking the Run button to call the Run method for calculation, for the interface module, the calculation of internal information does not need to know, but also inaccessible, the interface module sees only the module entrance, in the use of the time can be found in the entrance , as far as the specific process is not known, only results are obtained.
Interface-Oriented Programming: The general realization of the function, usually the definition and implementation of the integration, non-separation, the idea that the most ideal design specifications should be all the definition and implementation of separation.
In my understanding, interface-oriented programming is clearer, although it is a bit cumbersome and time-to-go to standardize everything, but once you unify many of the rules will be clearer. At the same time, once the unified norms, in the implementation of as far as possible to the normative closer to the cooperative programming will also be a great help. This job in the implementation of various functions we in the respective algorithms to unify a number of specifications, in each other to read the code a lot smoother.
The basic concept of loose coupling is that it allows for changes or when the problem occurs at one end of the wire to avoid affecting other endpoints. In other words, changes or problems with the provider or service cannot affect the user----or the user's problem should not affect the provider or service. For example, if a new version of the service is launched, the user of the service does not have to modify it, not have to change the route, or even have to go through stasis----because it (the new version of the service is launched) can clearly show them. In contrast, if a user of the service decides to change the provider they are using (possibly with a lower-priced service to choose from), this does not require the user application to be re-encoded or even interrupted to make such a change. The Web service management agent is often used between users and providers as a necessary basic element for providing loose coupling.
Once you understand the concept of loose coupling, it is easy to take it to the opposite extreme and apply it anywhere. However, loose coupling has its own cost, so it is not always used properly. The best way is to decide when you need to use loose coupling and when you don't apply loose coupling to your application. Which parts of your app are always configured together (if one part so, the other part does the same----I call this a hive)? Compare the above with the independent ones that need to be changed and upgraded. For example, different groups will represent different rollout schedules (and will therefore be managed by different hive). When you realize that the hive is for your application, then you will know when to use loose coupling (via hive) and when not to use it (in a hive).
The key to the code is that the resulting number is not completely duplicated, resulting in fewer models. Some of the space is not good to control the time only to take the wrong to open large arrays. Not much to say here. My main responsibility is the front end.
Contractual design: The proposed contract design is mainly based on the software reliability considerations. Reliability includes correctness and robustness, and correctness refers to the ability of the software to execute according to requirements specifications, and robustness refers to the ability of the software to handle undeclared conditions in the requirements specification. Robustness is mainly related to the mechanism of exception handling. Correctness includes the correctness of the internal operation of the object element, and another important aspect is the correctness of interacting with other object elements.
Pair Programming Blog