Should all public methods correspond to business logic?
- if yes, how to deal with situation in which two objects need to communicate at lower design layer, and thus need some non-business methods to be public? (or is this antipattern?)
- if no, how to clearly distinguish between public and business public methods?
These are the options I am aware of:
- create business logic interfaces (as Attila and ArjunShankar suggest)
#define BUSINESS
(in C++) and then use asBUSINESS void myMethod()
- not sure if it is good idea
Any other possibility?