The tag has no usage guidance.

learn more… | top users | synonyms

2
votes
1answer
182 views

Open / Closed Principle

I found this code example explaining Open / Closed principle. Code before application of principle: public class Logger { public void Log(string message, LogType logType) { switch ...
0
votes
0answers
66 views

Did Apple violate OCP back when they released iOS 7

If I remember correctly, back when iOS 7 was released, there were a couple of issues regarding the public API of certain classes which implementation was completely changed. The following is an ...
18
votes
1answer
488 views

Why does(/did) Bertrand Meyer think subclassing is the only way to extend a “closed” module?

In Meyer's Object-Oriented Software Construction (1988) he defines the open/closed principle as follows: A module will be said to be open if it is still available for extension. For example, it ...
2
votes
2answers
350 views

Does class inheritance (in C#) violate the Open/Closed Principle?

I typically make all my methods private unless and until they need to be overriden by a sub-class. At that point I modify the base class to make that particular method protected virtual. Is it ...
1
vote
2answers
134 views

Is “file” also participate in open closed principle?

I know according to open closed principle, something like class,interface,code.... should be unchanged when add new functions or contents, but is file also in this case? I was designing a game, the ...
13
votes
4answers
1k views

Do mocks violate the Open/Closed principle?

Some time ago I read, on a Stack Overflow answer that I can't find, a sentence that explained that you should test public APIs, and the author said that you should test interfaces. The author also ...
26
votes
8answers
4k views

Is overriding Object.finalize() really bad?

The main two arguments against overriding Object.finalize() is that: You don't get to decide when it's called. It may not get called at all. If I understand this correctly, I don't think those are ...
0
votes
0answers
416 views

Adding functionality to the activity (inheritance, decoration, strategy … ) or multiple inheritance

I cannot decide what approach should I use in the next situtation. One activity from my app need to have different functionality, here is the leak of multiple inheritence comes into play. ...
3
votes
1answer
101 views

Peculiar architecture interfacing .NET to AutoCAD out-of-process

I have written a set of classes to interact with AutoCAD from an out-of-process .NET assembly, but it seems like my class architecture and interactions are unusual. I am struggling to find a better ...
1
vote
4answers
275 views

Understanding Bob Martin's Closed For Modification Explanation

“Closed for modification.” Extending the behavior of a module does not result in changes to the source or binary code of the module. The binary executable version of the module, whether in a ...
1
vote
1answer
226 views

Open closed principle vs abstraction leaking (Java enums)

In Java, an enum is not a plain replacement for a number (like in C/C++), but a family of objects which can have properties. For instance public enum Order { NAME("Ordering by name"), ...
4
votes
2answers
473 views

Does agile contradict to Open/Closed principle?

O/C principle dictates that production code should not be changed if system behavior augmention is required. Otherwise it becomes hard to trust tests. Following it as a dogma we are going to end with ...
0
votes
1answer
110 views

Interfaces between multiple projects

I'm slightly confused over the following: ProjectA -------- GetUsers (Implements IDBConnector) -------- IGetUsers -------- UserModel ProjectB -------- Main I have two projects one main project ...
0
votes
3answers
106 views

In the light of the open / closed principle, is shared code ownership still important?

I was recently thinking about the following. According to the open / close principle, once a piece of code X has been implemented and tested, it should not be modified any more. X can still be ...
5
votes
2answers
630 views

Does this factory method pattern example violate open-close?

In Head-First Design Patterns, they use a pizza shop example to demonstrate the factory method pattern. public abstract class PizzaStore { public Pizza orderPizza(String type) { Pizza pizza; ...
0
votes
3answers
348 views

Doesn’t active record violate SRP and OCP?

I have watched the active record classes in our project grow into large, do-it-all classes. When you need anything about a user, for example, you should go to the Person class. While this makes ...
3
votes
1answer
2k views

Protocol for closing a socket connection

I'm rolling my own application protocol on top of TCP. I'm using Linux and C. I'm wondering whether there is an advisable sequence to closing a socket connection. The client will always initiate ...
32
votes
6answers
8k views

LSP vs OCP / Liskov Substitution VS Open Close

I am trying to understand the SOLID principles of OOP and I've come to the conclusion that LSP and OCP have some similarities (if not to say more). the open/closed principle states "software ...
7
votes
6answers
1k views

Refactoring and Open / Closed principle

I have recently being reading a web site about clean code development (I do not put a link here because it is not in English). One of the principles advertised by this site is the Open Closed ...
12
votes
5answers
858 views

Is overloading an example of the Open/closed principle?

Wikipedia says "software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification" The word functions caught my eyes, and I now wonder if we can ...