Click here to Skip to main content
15,887,430 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
AnswerRe: All high-level classes must depend only on Interfaces Pin
honey the codewitch16-Feb-24 10:42
mvahoney the codewitch16-Feb-24 10:42 
GeneralRe: All high-level classes must depend only on Interfaces Pin
raddevus16-Feb-24 10:56
mvaraddevus16-Feb-24 10:56 
GeneralRe: All high-level classes must depend only on Interfaces Pin
honey the codewitch16-Feb-24 11:50
mvahoney the codewitch16-Feb-24 11:50 
GeneralRe: All high-level classes must depend only on Interfaces Pin
jochance19-Feb-24 12:09
jochance19-Feb-24 12:09 
GeneralRe: All high-level classes must depend only on Interfaces Pin
raddevus20-Feb-24 2:44
mvaraddevus20-Feb-24 2:44 
GeneralRe: All high-level classes must depend only on Interfaces Pin
jochance22-Feb-24 5:59
jochance22-Feb-24 5:59 
GeneralRe: All high-level classes must depend only on Interfaces Pin
hpcoder224-Feb-24 20:49
hpcoder224-Feb-24 20:49 
AnswerRe: All high-level classes must depend only on Interfaces Pin
trønderen16-Feb-24 11:12
trønderen16-Feb-24 11:12 
The OSI network stack was entirely based on this principle.

The Service definition of a layer tells what the layer will do for the layer above. Not how. It can do it any way it likes, using any protocol it likes, as long as it fulfills the Service definition. OSI Transport Services could realize its offering using IP, X.25, Frame Relay, whatever - or even a combination (most likely: if one breaks down, switch to another one). Same for all the other layer interfaces. Of course the Service definition also included how received data are delivered to the Service user.

The separation between what and how was manifest in Service and Protocol being defined in different standards. Network Services were X.213, Transport Services X.214, Session Services X.215. A Network Protocol was defined in X.223, but more common was to use the X.25 protocol, which is not according to X.223. Yet, X.213 services were provided. For the Transport layer, there was a Transport Protocol defined in X.224, but if you used the RFC method of implementing X.214 over TCP, then TCP was the transport protocol.

If it wasn't for the terrible mess that the Internet protocol stack makes of 'layering', I might have been more tolerant to grayboxes or boxes with tinted glass. But even after 40 years with TCP/IP protocols, it still can give me a stomach ache when I encounter yet another protocol hack, a fix made with steel wire and gaffa tape in the protocols.

I still believe that OSI protocols could have been realized, strictly adhering to OSI principles. But after 40 years among software developers and internet guys, I realize that "must depend only on Interfaces" cannot be realized, especially not in a 'local' (not networking) context, with no communication peer depending on rules being followed.

So "must depend only on Interfaces" is a rosy dream that doesn't stand a snowballs change in today's software world.

(Edit: Numbers of protocol definition standards)

Religious freedom is the freedom to say that two plus two make five.


modified 16-Feb-24 19:45pm.

GeneralRe: All high-level classes must depend only on Interfaces Pin
raddevus17-Feb-24 4:25
mvaraddevus17-Feb-24 4:25 
AnswerRe: All high-level classes must depend only on Interfaces Pin
PIEBALDconsult16-Feb-24 11:46
mvePIEBALDconsult16-Feb-24 11:46 
GeneralRe: All high-level classes must depend only on Interfaces Pin
raddevus17-Feb-24 4:30
mvaraddevus17-Feb-24 4:30 
GeneralRe: All high-level classes must depend only on Interfaces Pin
PIEBALDconsult17-Feb-24 5:48
mvePIEBALDconsult17-Feb-24 5:48 
AnswerRe: All high-level classes must depend only on Interfaces Pin
englebart16-Feb-24 13:51
professionalenglebart16-Feb-24 13:51 
GeneralRe: All high-level classes must depend only on Interfaces Pin
raddevus17-Feb-24 4:36
mvaraddevus17-Feb-24 4:36 
GeneralRe: All high-level classes must depend only on Interfaces Pin
englebart17-Feb-24 14:20
professionalenglebart17-Feb-24 14:20 
GeneralRe: All high-level classes must depend only on Interfaces Pin
jschell19-Feb-24 6:01
jschell19-Feb-24 6:01 
JokeRe: All high-level classes must depend only on Interfaces Pin
englebart19-Feb-24 6:25
professionalenglebart19-Feb-24 6:25 
AnswerRe: All high-level classes must depend only on Interfaces Pin
RickZeeland16-Feb-24 20:10
mveRickZeeland16-Feb-24 20:10 
AnswerRe: All high-level classes must depend only on Interfaces Pin
Sander Rossel17-Feb-24 0:33
professionalSander Rossel17-Feb-24 0:33 
GeneralRe: All high-level classes must depend only on Interfaces Pin
raddevus17-Feb-24 4:41
mvaraddevus17-Feb-24 4:41 
AnswerRe: All high-level classes must depend only on Interfaces Pin
Ravi Bhavnani17-Feb-24 7:11
professionalRavi Bhavnani17-Feb-24 7:11 
GeneralRe: All high-level classes must depend only on Interfaces Pin
raddevus17-Feb-24 7:28
mvaraddevus17-Feb-24 7:28 
GeneralRe: All high-level classes must depend only on Interfaces Pin
englebart18-Feb-24 6:24
professionalenglebart18-Feb-24 6:24 
GeneralRe: All high-level classes must depend only on Interfaces Pin
Ravi Bhavnani18-Feb-24 6:57
professionalRavi Bhavnani18-Feb-24 6:57 
GeneralRe: All high-level classes must depend only on Interfaces Pin
englebart19-Feb-24 6:27
professionalenglebart19-Feb-24 6:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.