Software design is a process of problem solving and planning for a software solution.

learn more… | top users | synonyms

43
votes
12answers
3k views

Is it bad practice to pass instances through several layers?

In my program design, I often come to the point where I have to pass object instances through several classes. For example, if I have a controller that loads an audio file, and then passes it to a ...
17
votes
4answers
915 views

Best Practices for Redesigning a Database

I'm aware of some general best practices when designing a database for an application, but what about redesigning? I'm on a team tasked with re-designing an internal business application, though ...
14
votes
6answers
735 views

How can I improve my skills while working on actual projects, in the absence of more experienced developers?

I'm the lead developer at a small company, working with C# and ASP.Net. Our team is small, 2-3 people, without much experience in development and design. I don't have the opportunity to learn from ...
11
votes
5answers
498 views

Is it reasonable to expect knowing the whole stack bottom up?

I am an Sr. developer/architect/Product Manager for embedded systems. The systems that I have had experience with have typically been small to medium size codebases - typically close to 25-30K LOC in ...
10
votes
3answers
299 views

Dependency Inversion Principle: How to define “high-level policy” and “low-level detail” to other people?

I am trying to explain the dependency inversion principle to my (mostly junior) colleagues. How can we define which one is the "high-level policy" and which one is the "low-level detail" in a ...
8
votes
6answers
437 views

Book with some actual software project designed

Do you know a book where an actual software piece is designed as an example and all steps are mentioned? I assume that I have a project alone so communication of ideas is not an issue. I'd like to ...
8
votes
7answers
509 views

How do professional software development teams deal with design complexity in non-trivial projects?

First, I realize this question may by somewhat long and vague and I apologize for this. This is probably a basic problem with a short name to anybody who's "got it", but as I find myself lacking in ...
8
votes
4answers
285 views

Rapid prototyping and refactoring

Sometimes when I start a small project (like an android app), I don´t know which approach will work out at the end, and I just go for one approach and give it a try. But if I never used this approach ...
7
votes
5answers
321 views

Reengineering the project from scratch [duplicate]

Possible Duplicate: When do you rebuild an application or keep on fixing the existing one I am currently working on a project that has been in development for the last few years used ...
7
votes
1answer
353 views

How can I gather client's data on Google App Engine without using Datastore/Backend Instances too much?

One of the projects I'm working on is online survey engine. It's my first big commercial project on Google App Engine. I need your advice on how to collect stats and efficiently record them in ...
6
votes
6answers
2k views

Are Get-Set methods a violation of Encapsulation? [duplicate]

Possible Duplicate: When are Getters and Setters Justified In an Object oriented framework, one believes there must be strict encapsulation. Hence, internal variables are not to be exposed ...
6
votes
4answers
547 views

Software design by pseudocoding?

Do you know a good way to design (i.e. write down) software with a method based on pseudocode? I'm new to software design and read some information about UML. My humble class hierarchies are good so ...
6
votes
3answers
257 views

What is the meaning of “inversion” in `Dependency Inversion Design Principle

I'm reading Design patterns. I know what this principle do. high-level and low-level classes are depend on abstractions. But why we say this inversion?
5
votes
2answers
720 views

How to do thread management in C++?

We use pthread for thread management in C based systems. pthread is in general compilable by C++ compiler (like g++). However, what are the better ways of abstractions for threads in C++? Also, for ...
5
votes
2answers
231 views

Constant values in the interface

Some time ago I have read two different books and each of them gives totally different answer for the question if it is a good pattern to define constant values in the interface (in java). So I am ...

1 2
15 30 50 per page