Let’s say we are going to design a system to manage configuration of a lot of virtual machines (VM). All VMs have the same configuration space. And for a specific configuration item, different VM can have different value. All VM2 can be divided into several groups according to their usage. For one group, all the VMs in this group share most configuration value, but they may also have some configuration item with different value. How to design the system with the following considerations: 1. should be easy to add a VM to inherit the shared configuration value of a group; 2. should be easy to manage a VM’s private configuration value; 3. when changed the shared configuration value of a group, the VMs inherited this configuration value will also update their value;
Any ideas on how to achieve this?