Top "Software-design" questions

Software design is the activity of deciding what properties, elements, responsibilities, interfaces, relationships and interactions are required in order to create an effective piece of software.

Why encapsulation is an important feature of OOP languages?

I came across different interview where question was asked to me why encapsulation is used? Whose requirement actually is encapsulation? …

oop architecture encapsulation software-design
What is the core difference of redux & reflux in using react based application?

Recently I conducted a preliminary study on developing an E-commerce site and discovered that redux and reflux both come from …

reactjs redux software-design flux refluxjs
Is it the best practice to extract an interface for every class?

I have seen code where every class has an interface that it implements. Sometimes there is no common interface for …

c# interface software-design
Is it a good practice to mock Automapper in unit tests?

There is this codebase where we use automapper and have 2 layers, Domain and Service. Each has its object for data …

c# unit-testing mocking automapper software-design
What is an Architecture Context Diagram (ACD) and are there any other names for it?

I've been charged with the following tasks for a group project: a) Design/Draw an Architecture Context Diagram b) ACD …

architecture uml diagram software-design
what is the difference between a view model and a data transfer object?

I'm basing this question on Fowler PoEAA. Given your familiarity with this text, aren't the ViewModels used in ASP.NET …

asp.net-mvc design-patterns software-design poeaa
Adapter Pattern: Class Adapter vs Object Adapter

I have a few questions about the Adapter pattern. I understand that the class adapter inherits from the adaptee while …

oop design-patterns adapter software-design
python: abstract base class' __init__(): initializion or validation?

class ABC is an "abstract base class". class X is its subclass. There's some work that needs to be done …

python oop abstract-class software-design
UML replacement for context diagram

According to UML context diagram context diagram doesn't exists. So my question is which one of UML diagrams is good …

uml diagram software-design
Onion architecture compared to hexagonal

Is there any difference between them (onion | hexagonal), from my understanding they are just the same, they focus upon the …

architecture software-design onion-architecture hexagonal-architecture