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

learn more… | top users | synonyms (1)

7
votes
4answers
1k views

Are iframes a design smell?

We have some pretty old, clunky .Net 1.1 apps in our business that - rather than be forcably upgraded - just get an iFrame added so that new functions can be dropped in. It's become such a well-known ...
5
votes
4answers
320 views

How much web-design work should a web programmer commit?

I'm creating a website for a friend of mine, and the plan is to eventually solicit outside sources to take care of the overall design. So it's got me wondering, how much design should I be covering ...
18
votes
4answers
1k views

Why do most languages provide a min-heap instead of a max-heap implementation?

I just noticed something and I wonder if there is any reason for that. Except for C++ (std::priority_queue is a max heap), I don't know any other language that offers a max heap. Python's heapq ...
3
votes
1answer
461 views

What is one correct architecture when using a DB with multiple clients?

We have a legacy system with data stored in a SQL database. Several clients connects to this database using a web service. The web service expose a lot of "commands" to query the database and to "do" ...
23
votes
13answers
2k views

How To Deal With Terrible Design Decisions [duplicate]

I'm a consultant at one company. There is another consultant who is a year older than me and has been here 3 months longer than I have, and a full time developer. The full-time developer is great. ...
10
votes
7answers
359 views

Is reusability roughly synonymous with good design?

Reusability is a feature of good software design. Is reusability an acceptable gloss ("brief notation of the meaning") for good software design? Why?
1
vote
1answer
374 views

Django - Using a JSON string as an attribute map to avoid subclassing

I have a Django model called Entity. Different types of Entity have different attributes (e.g. some have a currency associated with them, others don't). I'd rather not have to create a new subclass ...
25
votes
7answers
13k views

Why avoid Java Inheritance “Extends”

Jame Gosling said “You should avoid implementation inheritance whenever possible.” and instead, use interface inheritance. But why? How can we avoid inheriting the structure of an object using ...
0
votes
4answers
319 views

Design of an evaluator object for propagation and IO of results

We are having a discussion about design. Keep into account this is fortran, so we can't be too smart. We have the following classes: Application, System, Calculator, CalculatorSimple, ...
7
votes
1answer
1k views

Open/Closed principle and reopening Ruby Classes

In OOP there is the Open/Closed principle that states that "software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification". Taking in ...
5
votes
6answers
312 views

How likely is it for a programmer to become a good designer?

I'm a programmer, and I'm pretty good at programming. I can easily pick up most technical topics such as Linux, Systems Administration, Databases and of course, new programming languages. I even ...
5
votes
6answers
251 views

Can you prototype a complex system change?

I'm currently in the process of redesigning parts of a large and complex application server to allow it to be distributed across multiple machines. I've been asked to provide a prototype of the ...
13
votes
5answers
1k views

Brainstorming software

Does anyone have any experience with brain storming software for early stage design work? If so, do you have any recommendations for particular software to use? Or to avoid? To pre-empt certain ...
10
votes
6answers
4k views

Are There Any Programming Focused Notebooks? [closed]

I know that engineering paper exists, but are there any companies that make programmer-specific notebooks for notes/pseudo-code/designs? Paper is my preferred way of outlining things, so the addition ...
3
votes
2answers
619 views

Delegate pattern for retrieving data v.s. using simple setters

I am considering using the Delegate Pattern to get some data necessary for an operation. There are a few different pieces of data that the algorithm needs to run, but they all have default values that ...
63
votes
9answers
48k views

Why use partial classes?

In my understanding, the partial keyword does nothing but allow a class to be split between several source files. Is there any reason to do this other than for code organization? I've seen it used for ...
9
votes
5answers
4k views

Good references for End User documentation examples and advise [closed]

Our in house software has been used for many users and the training department asked us for any tips of end user documentation format. Does any know where can I find good examples of software end ...
15
votes
4answers
480 views

How can I get free artwork for my free software? [closed]

So many free software projects have beautiful art, specially websites, that I wonder where the coders meet their artists. Is there some place to ask for this besides the local art majors' schoolboard? ...
4
votes
2answers
5k views

In MVC where do you put action methods for views in the shared directory?

I have a website built using a MVC.NET framework with C# that uses some shared views and partial views. In order to display the views properly there is a bit of code that must reside in the ...
4
votes
3answers
6k views

What is good programming practice for structuring java project?

I have a Java project that is getting to be relatively large (a few thousand lines in all, I'd say). It's definitely a lot larger than what I've dealt with before, being that I am still a relatively ...
2
votes
4answers
106 views

Function before design, or a little of both?

When creating data-driven web pages, do you generally work on: A) functionality first B) presentation first? C) both at the same time I'm learning how to build css sites and wasn't sure of the ...
82
votes
10answers
9k views

Are design patterns really essential nowadays?

I was reading "Coders at Work" and have faced the fact that some of the professionals interviewed in the book are not so enthusiastic about design patterns. I think that there are 2 main reasons for ...
2
votes
3answers
419 views

How does one think about object oriented design and Aspect oriented Design for solution

I have worked on few projects in which both AOP and Object oriented paradigm were used. But, AOP usage was limited to logging only. I think AOP is a much more powerful technique. My question, to those ...
2
votes
3answers
706 views

What should I name these methods? [closed]

I have two interfaces, one with and one without generic type parameters. The non-generic interface is used internally so that I can store instances of the generic interface in a collection. All would ...
6
votes
2answers
624 views

Implementation of communication between packages (Java)

I'm making a project with 5 packages. The packages can communicate with each other by sending Messages to a central MessageQueue in the Main package and that MessageQueue takes care of all the ...
5
votes
6answers
4k views

What are good reasons to use explicit interface implementation for the sole purpose of hiding members?

During one of my studies into the intricacies of C#, I came across an interesting passage concerning explicit interface implementation. While this syntax is quite helpful when you need to resolve ...
27
votes
10answers
6k views

What is good (neat) architecture in programming a simple website, e.g. a contact book?

When I build a simple website, e.g. a contact book where I can add, delete and update contacts, I create an index.php file where a user, if he's not logged in, is requested to enter a password and if ...
4
votes
3answers
742 views

How to show someone of the power of model-view-controller design pattern?

I've been working with a friend on a project that we've taken over, and I've realized that we have a big problem implementing the model-view-controller design pattern due to the way that the project ...
15
votes
5answers
7k views

What to plan before starting development on a project? [closed]

Say I've received the specifications for a project from a client, and now its time to start developing it. Normally, I just start with the first module (usually user registration) and then go from one ...
1
vote
3answers
195 views

Escaping strings in database layer

Can escaping functions (e.g. mysql_real_esacpe_string ) be moved down to the database layer where we would loop through all parameters passed for all queries and escape all strings. Would that be a ...
26
votes
11answers
617 views

Coaxing requirements out of business people?

What methods seem to work best to coax requirements out of non-tech business people? I am working with a team that’s trying to get a spec together for a project. Every time we have met and it comes ...
4
votes
4answers
5k views

How should I design a PHP class autoloader?

I have a fairly simple folder structure where the main classes are in a folder, and any classes used by those classes are in a subfolder with the same name as that class. /exampleClass.php ...
-2
votes
7answers
401 views

Vector operations: vec1.dot(vec2) vs vec1 * vec2 vs dot(vec1, vec2) [closed]

What's your preferred way to implement/use vector operations? vec1.dot(vec2) allows to reuse vec1 but is hard to read for longer equations dot(vec1, vec2) A friend of mine prefers this as "dot" ...
2
votes
3answers
3k views

Should I represent the Database in my use cases?

I am creating use cases for my web application and I was wondering if a representation of the DB should be listed as an actor. For example a user can check his profile and edit it (assuming that he is ...
0
votes
1answer
332 views

Evolution of my MVC design with new UI complexity

I have a desktop instrumentation application in MVC. Currently I had 2 versions of the application, thus 2 views and 2 controllers, each having common code in a base class. The views react directly to ...
2
votes
4answers
577 views

Should every front-end developer understand the basic aspects of design?

I'd say that we're developing software in a world where the front-end of an application is probably the most important. The increasing ability for a user to access and interact with software almost ...
2
votes
1answer
203 views

How do you handle the problem of abstraction when you learn a techonology / language?

I find that when I am trying to learn say Python for example I end up worrying about problems that are out of scope like how does Python implement this thing etc. For example say I am learning twisted ...
8
votes
4answers
1k views

Avoid having an initialization method

I have this existing code where they have a class and an initialization method in that class. It is expected that once the object of the class is created, they need to call initialize on it. Reason ...
21
votes
12answers
2k views

SOLID vs. Avoiding Premature Abstraction

I understand what SOLID is supposed to accomplish and use it regularly in situations where modularity is important and its goals are clearly useful. However, two things prevent me from applying it ...
5
votes
3answers
491 views

How to learn/become capable of providing quality app design?

I'm interested in things a programmer should learn/know to provide extremely good application architecture design. As known any design can be regarded as good one for certain circumstances but when ...
6
votes
11answers
883 views

Designing the perfect range literal

I've been thinking on how I would go about designing the "perfect" range literal if I were to do design a language. For you that don't know know a range literal in a statement that represents a range ...
6
votes
2answers
1k views

What does “abstractions should not depend on details” actually mean?

Most readers will be familiar with Bob Martin's famous dependency inversion principle, which states - High-level modules should not depend on low-level modules. Both should depend on abstractions ...
8
votes
2answers
284 views

Should the provider of an interface also provide a mock implementation for testing?

We wasted a lot of time on our last integration test on a bug that I think should have been found in unit testing. The problem was that an interface / service we called behaved different than we ...
3
votes
7answers
602 views

What is the appropriate level of granularity for services in a distributed or service-oriented architecture?

Our shop is attempting to move towards a more "distributed" architecture. I didn't want to use the term "SOA" because I'm not really sure if that's appropriate in our situation. For each new feature ...
1
vote
3answers
295 views

How do you organize a large data layer in a project?

I have a data layer that strictly interacts with the database and returns the result into a model. I have an asynchronous connection with the DB so sometimes I have to chain results where I have to ...
6
votes
8answers
318 views

What tools do you as [web] programmers use to help your design skills?

As a programmer, I enjoy embarking on small personal projects and I have a load of open source scripts that I host on github. I am very much a programmer and not a designer. However, it is ...
31
votes
11answers
3k views

Well designed / high-quality open source software [closed]

I'm taking a software design class where I should choose an open source software to analyze from the Software Design point of view. It has to be a big project: not less then 100,000 lines of code. I ...
1
vote
6answers
171 views

Best opinion to give a potential client

I have a friend that works for a company. They use a software product that is aged, and written in Delphi. There are concerns at this company about the life of the software company that provides the ...
14
votes
0answers
2k views

Design and Development Methodologies for the single developer

At my work, typically the developers here all work separately, we may share projects but often only do so when another isn't working on it (for reference, we're a consulting company. So someone may ...
3
votes
2answers
782 views

Good Design and how to achieve Low Coupling?

what do you think about this design? In this image i have reported the dependencies between packages. I would like to reduce the coupling between them, but do you have any idea about how to do ...