Summary
In this chapter, we covered three other structural design patterns: flyweight, MVC, and proxy. Throughout this chapter, we learned about the differences between these and the other structural patterns we have discussed. Then, we implemented each of these patterns in hands-on examples. As we saw, the flyweight pattern is designed for memory usage minimization, the MVC pattern maintains a logical organization of different parts of an application, and the proxy pattern is typically used when sensitive information is accessed.
In the next chapter, we will start exploring behavioral design patterns. Behavioral patterns cope with object interconnection and algorithms. The first behavioral pattern we will cover is the chain of responsibility.