AnsweredAssumed Answered

Pro API Object Model Issues

Question asked by jpfeffer on Oct 23, 2019

What's Up With The Pro API Object Model? Concretions all the way down.

 

The Pro API.  I'm surprised to find that the object model is completely bereft of interface declarations. It's either a base abstract type or a concretion.

 

This seems crazy to me. Net does not support multiple inheritance - what is the strategy for using object composition? None, it seems like. What about mocking? The Pro API is a poor replacement for the deeply comprehensive, fine-grained, and interface-based ArcObjects model.

 

The Pro API object model does nothing to encourage loose coupling and GOF/Fowler/Beck/Cunningham principles of reuse - as articulated by Martin/Feathers: SOLID.

 

Not only that, the Pro API design actively fosters tightly-coupled, concretion-dependent relationships. Was it intentional to fully neglect DIP? To fully neglect the first principle of object-oriented reusable design:

 

Program to an interface, not an implementation. - Gang of Four

Is there an ongoing discussion here or in any other forums discussing this? Anyone want to send me your thoughts direct - feel free.

 

Thanks - joe

Outcomes