Questions about problem solving and planning for a solution through software design.

learn more… | top users | synonyms (1)

12
votes
8answers
2k views

Single responsibility principle - am I overusing it?

For reference - http://en.wikipedia.org/wiki/Single_responsibility_principle I have a test scenario where in one module of application is responsible for creating ledger entries. There are three ...
10
votes
6answers
1k views

Struggling with the Single Responsibility Principle

Consider this example: I have a website. It allows users to make posts (can be anything) and add tags that describe the post. In the code, I have two classes that represent the post and tags. Lets ...
2
votes
2answers
458 views

How do you end up with event-sourcing if you use a xDD approach?

When working in a TDD or BDD manner your unit tests are supposed to drive your design. But how do you end up with event-sourcing using a xDD techniques? As I see it event sourcing is something you ...
17
votes
7answers
1k views

What are the essential things one needs to know about UML?

I want my scribbles of a program's design and behaviour to become more streamlined and have a common language with other developers. I looked at UML and in principle it seems to be what I'm looking ...
4
votes
4answers
99 views

What is an effective way to obtain use case information from preoccupied professionals?

When designing a novel system in a hospital or other clinical setting, I think it would be important to gather information from doctors, nurses, pharmacists, technicians, et al on use cases for the ...
2
votes
2answers
245 views

Searching for entity awareness in 3D space algorithm and data structure

I'm trying to do some huge AI system just for the fun and I've come to this problem. How can I let the AI entities know about each other without getting the CPU to perform redundant and costly work? ...
5
votes
3answers
527 views

Architecture Question

I am writing a rules/eligibility Module. I have 2 sets of data, one is the customer data and the other is the customer products data. Customer data to Customer products data is one to many. Now I ...
7
votes
2answers
370 views

How many tiers should my models have in a DB driven web app?

In my experience, the "Model" in MVC is often not really a single layer. I would regularly have "backend" models and "frontend" models, where the backend ones would have properties that I want to hide ...
2
votes
1answer
250 views

How should I design a correct OO design in case of a Business-logic wide operation

EDIT: Maybe I should ask the question in a different way. in light of ammoQ's comment, I realize that I've done something like suggested which is kind of a fix and it is fine by me. But I still want ...
1
vote
2answers
548 views

Database design

I'm on the way developing an application which requires a kind of dynamic database, So this is what I want, This is the for reading the details of a class, the number of variables and methods ...
3
votes
1answer
320 views

How to Implement Restricted Access to Application Features

I'm currently developing a web application, that provides some 'service' to the user. The user will have to select a 'plan' according to which she/he will be allowed to perform application specific ...
2
votes
6answers
629 views

What is the best design decision approach?

I have two classes (named MyFoo1 and MyFoo2) that share some common functionality. So far, it does not seem like I need any polymorphic inheritance but, at this point, I am considering the following ...
12
votes
4answers
960 views

Avoiding bloated Domain Objects

We're trying to move data from our bloated Service layer into our Domain layer using a DDD approach. We currently have a lot of business logic in our services, which is spread out all over the place ...
4
votes
3answers
356 views

Which of these algorithms is best for my goal?

I have created a program that restricts the mouse to a certain region based on a black/white bitmap. The program is 100% functional as-is, but uses an inaccurate, albeit fast, algorithm for ...
8
votes
8answers
447 views

Should we write detailed architecture design or just an outline when designing a program?

When I'm doing design for a task, I keep fighting this nagging feeling that aside from being a general outline it's going to be more or less ignored in the end. I'll give you an example: I was ...
10
votes
6answers
6k 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 to ...
5
votes
1answer
730 views

Design For Asynchronous User Interface

I have been working on a integration that has posed an interesting user interface conundrum that I would like suggestions for. The user interface is displayed within a third party product. The state ...
6
votes
1answer
718 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 ...
8
votes
3answers
312 views

Examples of limitations in IT due to different bit length by design [closed]

I am teaching the course "Introduction in Programming" for the first-year students and would like to find interesting examples where the datatype size in bits, chosen by design, led to certain known ...
2
votes
4answers
277 views

How one could use a live editor

I was thinking about a live editing environment where code / a source file is synchronized so that changes made by one user would be carried across to all others editing the file. Something like ...
6
votes
3answers
278 views

Quick and Good: ( Requirement -> Validation -> Design ) for self use? [closed]

How to casually do the required Software Engineering and designing? I am an inexperienced developer and face the following problem: My company is a start up and has no fix Software engineering ...
3
votes
1answer
802 views

What is block level design in context of mobile application?

I was wondering if anyone can give me some direction related to "Block level design" in context of mobile application? Recently I saw a video in my university and a professional mentioned about ...
3
votes
2answers
165 views

Design review for application facing memory issues

I apologise in advance for the length of this post, but I want to paint an accurate picture of the problems my app is facing and then pose some questions below; I am trying to address some self ...
7
votes
2answers
2k 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 ...
4
votes
2answers
145 views

How to fundamentally approach creating a 'financial planner' application?

I want to create a financial planning application (for personal use), for which the overall functionality will be this: User (me..) can create different 'scenarios'. Each scenario is configured with ...
2
votes
2answers
394 views

Write own messaging system vs. utilize existing ones

We are trying to have our own startup, with a middleware application to glue small applications with enterprise legacy systems. for such middle-ware to function properly, we will need some sort of ...
2
votes
3answers
378 views

How can I refactor client side functionality to create a product line-like generic design?

Assume the following situation similar to that of Stack Overflow: I have a system with a front-end that can perform various manipulations on the data (by sending messages to REST back-end): Posting ...
11
votes
8answers
873 views

What do you do if you reach a design dead-end in evolutionary methods like Agile or XP?

As I was reading Martin Fowler's famous blog post Is Design Dead?, one of the striking impressions I got is that given the fact that in Agile Methodology and Extreme Programming, the design as well as ...
8
votes
3answers
2k views

How was Git designed?

My workplace recently switched to Git and I've been loving (and hating!) it. I really do love it, and it is extremely powerful. The only part I hate is that sometimes it's too powerful (and maybe a ...
5
votes
1answer
896 views

Would this be a good web application architecture?

My problem Our MVC based framework does not allow us to cache only part of our output. Ideally we want to cache all static and semi-static parts, and run dynamic parts. In addition, we need to ...
0
votes
4answers
116 views

The cross-over between designing for performance/pre-mature optimisation [duplicate]

Possible Duplicate: When is optimization not premature and therefore not evil? Whilst designing my own .Net SQL access library, I found that I want everything thing to run as fast as possible ...
53
votes
15answers
3k views

Is it normal to think about a design problem for days with no code written? [closed]

Sometimes I stare blankly into space or sketch ideas and write some pseudo codes on paper. Then I scratch it out and start again, then when I think I have the correct solution for the problem I begin ...
5
votes
3answers
725 views

Single Responsibility Principle Implementation

In my spare time, I've been designing a CMS in order to learn more about actual software design and architecture, etc. Going through the SOLID principles, I already notice that ideas like "MVC", "DRY"...
10
votes
6answers
2k views

Is it necessary to know and understand design patterns in order to be a professional programmer? [duplicate]

Possible Duplicate: Are design patterns really essential nowadays? Is it necessary have a knowledge and understanding of design patterns for someone to be a professional programmer? Why?
2
votes
1answer
490 views

ORM Tools and advantages of circular references in entities

Let me demonstrate a simple example, Class Organization ID type Number, Name type String, HAS A -> Collection Class Facility ID type Number, Name type String, ...
0
votes
1answer
740 views

Conceptually speaking, how would I pull facebook wall posts from 100k users?

Not looking for any code snippets here, so here goes: Let's say 100,000 users on my web app have authorized my application to connect to facebook (with or without offline_access). I want to build a ...
3
votes
1answer
183 views

Silverlight UI and PRISM - how to properly break down components?

This is how my solution looks like right now. And it get's to the point where my Controls need reference to Model. It get's real tough to keep Infrastructure, Constants, Controls and Model separated. ...
6
votes
2answers
669 views

Implementing Asynchronous Insert / Update for a web application

I am in the process of implementing a small web application using memcached for caching objects and sql server for database persistence. In all the projects I have done before I have done inserts/...
0
votes
1answer
372 views

Domain model for education [closed]

Are there any domain models already created for education industry? For example we have Prima IBCS for insurance. I was looking for something along similar lines.
6
votes
4answers
3k views

Is JavaBeans a good example of encapsulation?

I'm trying to understand if JavaBeans is a good example of encapsulation. In my view, it's not as usually all the internal state is exposed through getters and setters. A simple example is public ...
16
votes
5answers
2k views

What is the good explanation of Tennent's Correspondence Principle?

I found myself struggling to see what is this principle about and why is it so important for language design. Basically, it states, that for every expression expr in language should be exactly the ...
5
votes
4answers
591 views

Where does form processing belong in an MVC application?

I found this question on stack overflow and I have a question about one of the answers: In Zend Framework, forms are typically objects with decorators, but usually (I thought) processing is done ...
15
votes
2answers
1k views

Does objective-c's method overhead make a 'many small methods' design approach inadvisable?

I generally favour using small methods, as recommended by, amongst others, Bob Martin in Clean Code. I've also read enough about Objective-C's internals to have at least some idea about how its ...
11
votes
1answer
345 views

Drawing thread interaction

I'd like to draw (pen and pencils) threads interaction in a UML(-like) notation. I don't insist on UML, anything that is obvious to the reader should do. I started with sequence diagrams, but I don't ...
2
votes
1answer
145 views

App shell using MEF

I am designing an WPF app shell using MEF. I would like to have the app start a "view" upon startup. I also would like the option of having another add-in have a "startup" attribute and then the app ...
1
vote
1answer
445 views

Designing Subclasses for an abstract base class in C++

I'm doing a small assignment in C++ where I have to use concepts like virtual functions and inheritance in a domain of my choice. I'm implementing the prototype for a package manager in Linux. I have ...
7
votes
1answer
1k views

How to create an extendable web application?

How would you implement an extendable web application? What I'm thinking about is a web application similar to Jenkins or Hudson which provides plug-in support. While it's obvious to me how plug-ins ...
2
votes
1answer
154 views

Integration of routes that are not resources in an MVC REST style application

I would like to keep my application relatively REST-pure for the sake of consistency, but I'm struggling philosophically with the relatively few views (maybe just one) that I'll need to build that don'...
13
votes
4answers
2k views

How much design to do first? [duplicate]

I have never worked with a professional software development team. As such, analyzing and thinking about each and every aspect of my software does not come naturally to me. Whenever I strike an idea ...
2
votes
3answers
222 views

How to allow filtering Films in my app intuitively? (GUI design)

I am not sure if this is the right place to ask this but I wrote an app that shows all the movies in one's computer with the appropriate info such as genre, director, rating, etc. I am wondering how ...