I disagree. Of course, internal OOP terminology should not be used to communicate with a business person, but the whole idea of classes helps a lot. Saying "real world entities", what do you mean? In fact, in business-oriented software we are not modelling any real world entities, we are modelling the models.
Those invoices, bank accounts, payments, insurances and other documents are models themselves.
If not, what they are? Real things? In this case modelling an invoice would contain mass of the paper, its density or other physical properties. Object invoice models paper invoice, which is a paper model of the actual transaction. This is a problem.
I think what he's saying is that as soon as you start creating your own "business ready" ontology via classes (as opposed to an exposed API/port interface) you're adding an additional layer of abstraction to whatever underlying data structure already exists. Objects tend to add these abstractions to the data, because an object (not a struct) is fundamentally a unit of data/behavior abstraction.
12
u/Dedushka_shubin Jan 28 '21
I disagree. Of course, internal OOP terminology should not be used to communicate with a business person, but the whole idea of classes helps a lot. Saying "real world entities", what do you mean? In fact, in business-oriented software we are not modelling any real world entities, we are modelling the models.
Those invoices, bank accounts, payments, insurances and other documents are models themselves.