The correct answer is: C. all of the mentioned.
A layered-style program is divided into an array of modules or layers. Each layer provides services to the layer “below” and makes use of services provided by the layer “above”. This allows for a modular design, which makes it easier to maintain and extend the program.
However, there are some drawbacks to using a layered-style program. One drawback is that it can be difficult to debug a program that is written in a layered style. This is because each layer can only see the layers above and below it, and it can be difficult to track down the source of a problem when it can occur in any layer.
Another drawback of using a layered-style program is that it can be inefficient. This is because each layer has to make a call to the layer below it, and this can add up to a lot of overhead.
Overall, a layered-style program is a good choice for a program that needs to be modular and easy to maintain. However, it is important to be aware of the drawbacks of using a layered-style program before choosing this approach.