Refactoring: Make changes to the code without changing the external behavior of the code to improve the internal structure of the code. Software module's three responsibilities: 1. The functionality implemented by the software module (the reason for the software module). 2. To respond to changes. Almost all software modules have changed in the life cycle, and a module that is difficult to change is poor. 3. Software module The source code to be simple and effective in reading him. Let's take a look at the definition of the reconstruction. In fact, the software module duty 2, 3 is optimized without changing the Software Module Responsibilities.