It proves nothing. Whether you follow a process with the label SoC or the process with the label SRP they are still the SAME process. SRP is a later version of SoC, but it is still the same concept which produces the same result.
Please answer this tony: How can combining 3 different things together result in something identical to one of those 3 things?
They’re the same but they’re different. So Windows 95 is the same as Windows 7 because one is a “later version” of the other, right?
I disagree. They are rules which can only be set in the Model but which are passed to the View for execution. This is SOP in the programming world, and has been for decades.
Nobody has ever advocated putting display logic/data in the model.
It is NOT repeated code! The same code is run many times, but each time it produces a different result by creating new records on the database or new files on disk.
The DRY principle is only violated when you have identical blocks of code appearing in multiple places in the same piece of software.
…which contain similar code.
You are welcome to prefer your approach. You are not welcome to redefine words. Laravel, Symphony, et al are frameworks.
I was answering your point which said
Anything which is not specifically stated can be implied, and different people can interpret what has actually been stated in different ways with the result that they produce different implications.
My reference to “responsibility” and “concern” was to point out that as that article switched between the two terms without explicitly saying that they were different that it led me to believe that they had the same meaning. Others is this discussion came to a different conclusion - because the article did not explicitly say that they were the same they deduced that they were different.
Do you see the different interpretations of the same text? Whose interpretation would you say is the most reasonable?
Just to be clear, you have previously stated that
And you’re now saying that
SoC and SRP have different definitions (if it’s been redefined, the definition has changed)
If they have two different definitions how can they mean EXACTLY the same thing?
What are you taking about?
You are saying that SRP is SoC + Coupling + Cohesion:
How can combining SoC, Coupling and Cohesion result in SoC?
Your argument is:
SoC + Coupling + Cohesion == SRP
SRP == SoC
SoC + Coupling + Cohesion == SoC
How is this possible unless coupling and cohesion have no meaning?
Programmer A might think he’s applying SoC while programmer B thinks he’s applying SRP but the results are the identical. Same concept, same result, different wording.
And now you’re backtracking. You clearly said “You can apply one but not both”. Stop trying to weasel your way out, you’ve lost, admit it and give up.
In your own words you have stated they are not the same thing.
The fact that a scientist may try that as an academic experiment is irrelevant. Nobody in the real world would do that. For the same reason no programmer would apply SRP to achieve one set of results and then apply SRP to achieve a different set of results.
They both describe how to take a piece of software and break it down into smaller units, with the smallest being a class. They both say that separating out the logic for the GUI, business rules and database access should be the outcome of the exercise. In that respect they represent the same concept, the only difference being that they describe it using different words.
Ah, that better explains your prior response. Thanks. I didn’t read your prior response as that (ah interpretations received differently – see what I did there; see it? see it? ).
Yes, just as a “horseless carriage” and a “motor car” are different ways to describe the same concept. Do you like that analogy?
But they have the same definition. You have said that:
SoC does not include Coupling or Cohesion
SRP includes coupling and cohesion
SRP is a redefiniiton of SoC (they have different definitions)… but somehow they are the same thing… in fact you’ve said “mean exactly the same thing”. You’ve contradicted yourself somewhere!
They are the same in that they are both operating systems. Modern computers come with the latest version as all earlier versions have been superseded just as SoC has been superseded by SRP. They are different versions of the same concept, not different concepts.
So you’ll agree that these posts:
Are utter nonsense?
Is SRP “EXACTLY THE SAME THING” as SoC or not?
And the follow statements by your logic are also true: All programming languages are the same because they are the same concept, all cars are the same because they’re the same concept, all computers are the same because they are the same concept.