The high-level design and description of a software system. Architectural design distills away details of implementations, algorithms, and data representation to concentrate on the interaction of "black box" components.

learn more… | top users | synonyms

4
votes
2answers
174 views

Modelling project structure for Management

The project I am putted in is running awful. :-) Main Problem is a missing architecture and a missing guidline how to organize projects. In this case I have done a sample project architecture with UML ...
2
votes
2answers
119 views

Pattern for group of entities with one required primary member

Given a parent entity with a collection of child entities where there must be exactly one primary child of the group? To make the question more concrete, I've seen a number of ways that this pattern ...
4
votes
3answers
271 views

How would you represent an object that can be of multiple types, when storing it as a document in MongoDB?

Somewhat related to this question, say that I have an object category which, depending on which type of object I have, has different restrictions on what it contains. (if you can reword the previous ...
0
votes
1answer
301 views

Which books are good resources for designing APIs

I am looking for a book on how to design a web-service API. I'm constrained to using RPC-style Web services. In particular, I'm looking for guidance on [balancing...] granular vs course services ...
1
vote
4answers
1k views

About shared (static) Members and its behavior

I just realized that I can access shared members from instances of classes (probably this is not correct, but compile and run), and also learn/discover that, I can modify shared members, then create a ...
9
votes
9answers
507 views

Should developers be expected to compile an internal library before the actual program?

Recently a senior developer that I work with made a case for requiring that developers get the latest version and compile as part of their project a major internal library. This stands in contrast the ...
12
votes
11answers
1k views

Is continuous creation and deletion of tables a sign of an architectural flaw?

Recently I had a discussion with a developer who mentioned that during program development, they routinely create and delete tables and columns on a regular basis while working on new features and ...
1
vote
2answers
153 views

Is there a problem with writing an in-memory DAL for testing the BLL/ViewModels?

Mocking the DAL/Repository that I pass to the BLL/ViewModels for testing purposes is not much different than creating an in-memory DAL. Right now I'm using an in-memory DAL in a new project instead of ...
8
votes
4answers
6k views

Business Objects within a Data Access Layer

So I've been creating a data access layer via TDD and have approached somewhat of a concern. I'd rather not start down the wrong path, so I figured I'd ask you guys to see if my thoughts were in line ...
3
votes
5answers
315 views

How would you architect an application which is largely a collection of flowcharts?

I am working with a history teacher on a history app. He has like 200 flowcharts that he wants to put into the app (among other things). The two likeliest-looking ways to do it: HTML/CSS. The big ...
5
votes
3answers
140 views

Proper terminology for a small set of tightly coupled classes?

What is the proper terminology for a small (2-4) set of tightly coupled classes? These classes can't work independently. I was thinking system, but after googling for a bit, I've determined that the ...
2
votes
1answer
1k views

What is a reasonable number of threads for a Java program?

In Java (or probably most other languages targeting the JVM) what is a reasonable number of threads to use? Presumably, this will be expressed as a ratio to the number of cores/processors available, ...
31
votes
5answers
2k views

Re-inventing system design for Scala

Many, many, moons ago, I did my masters in Object Orientated Software Engineering. I covered everything: project initiation, requirements, analysis, design, architecture, development, etc, etc. My ...
4
votes
2answers
543 views

Asynchronous Java

I'm wondering if I wanted to implement a web service based on java that does web analytics, what sort of architecture should I use. The actualy processing of the Big Data would be done by Hadoop. ...
1
vote
3answers
916 views

Creating a line of business application with Visual Studio Isolated Shell

I ask this to the pros out there - Is it feasible to build a new LOB(Line Of Business) application with VS Shell as an stand alone application. There are some points that I thought needs to changed, ...
3
votes
2answers
463 views

What is the best technology for a TRULY portable REST client

I develop a suite of productivity tools, for Mac, iOS and Windows. They all communicate with a sync server via a RESTful interface (using Protocol Buffers), but as we add new platforms, we realize the ...
4
votes
2answers
338 views

Choosing right technology for messaging system

I'm working on a messaging system for two years now, the system was written by a long ago gone team and involves emails and document processing. The basic process is: Receive an email, parse it, ...
7
votes
3answers
552 views

Is the architecture of my project a common one? What's its name?

I am responsible for a software project for a few years now (a Java desktop application, which is mostly event-driven). I started it from scratch, and at the beginning of this project I made some ...
2
votes
2answers
426 views

GUI architecture and class naming advice

Problem: I'm working on coding a few light-weight touch-tablet games and often get stuck with difficulties naming my user interaction/interface classes and their relationships with each other ...
5
votes
1answer
261 views

What other patterns can I use for this singleton?

I have a bit of code which uses a plugin and core model, revolving around four major objects: the Core, Server, Logger, and Parser, in slightly particular order. The Core acts as the central factory, ...
81
votes
8answers
5k views

What is the most effective way to add functionality to unfamiliar, structurally unsound code? [duplicate]

This is probably something everyone has to face during the development sooner or later. You have an existing code written by someone else, and you have to extend it to work under new requirements. ...
6
votes
2answers
573 views

Static Analysis tools to detect architectural patterns

Currently for school we are working on a research project. The central question of this project is: Which architectural patterns can be detected using static code analysis? With architectural pattern ...
3
votes
4answers
240 views

How can I design an application so that it works well with a database selected by the customer?

I want to write an ASP.NET 4.0 application with IBM DB2 Express-C as its back-end. One thing that worries me, is hosting this application on a remote server. I don't know any hosting provider who ...
7
votes
2answers
1k views

Should the controller pass data to a view in the MVC pattern?

I work with ASP.NET MVC (and other web-based MVC implementations) quite often, but this is something I've never been sure of: Should controller and view communicate? Of course the controller should ...
0
votes
2answers
1k views

LINQ TO SQL or ADO.NET? [closed]

What is the best choice LINQ TO SQL (.DBML) or using ADO.NET with procedures for a database with 29 tables and about 30 concurrent users that will run the system that I am going to build? I know that ...
1
vote
1answer
501 views

Where should I locate the cache in a WCF service?

I am going to build a Windows Communication Foundation (WCF) service using Microsoft Enterprise Library for caching. I am wondering whether or not I should put the cache in the service layer. If I do ...
7
votes
4answers
2k views

Abstract methods vs instance variables for reusable objects

I have quite a bit of Java code that I'm re-working to be re-used. The problem is that there are many pieces that are project specific so there are ends up being a higher level of coupling between ...
1
vote
1answer
106 views

How to prevent corrupting an hierarchical XML tree?

We have an XML tree which stores the relationship between folders and video files. So each folder could be the artists name and below it we have the videos of the artist. Also each folder can have ...
3
votes
2answers
177 views

How to do locking and not use a database?

I have a project which involves re-writing pretty much all the back end of a legacy application. It uses XML for persistence and was originally written as a single user system. With one large XML ...
2
votes
2answers
921 views

Entity System - interaction between systems

I am studying the Entity System architecture philosophy. As I have read about it, a typical entity system has: 1) Entities - which are merely ID tags which have a number of components 2) Components ...
29
votes
8answers
2k views

S.O.L.I.D., avoiding anemic domains, dependency injection?

Although this could be a programming language agnostic question, I'm interested in answers targeting the .NET ecosystem. This is the scenario: suppose we need to develop a simple console application ...
9
votes
4answers
426 views

Is it better idea to call an external command-line application or to internalize that application's logic?

I have a "pipeline" sort of process that is essentially just linking together a bunch of existing tools to automate a workflow. For one of the steps, there is an existing command-line tool that ...
7
votes
3answers
9k views

PHP web application architecture/design [closed]

I've been thrown head-first into a new job developing web applications in PHP. I'm by no means new to PHP, but I haven't developed large-scale applications before. I'm wondering how to structure my ...
38
votes
10answers
2k views

What can one do when “lead by example” doesn't work? [closed]

I have been working for a big company (8000+ employees) for almost 2 years now, and was hired just after I finished my study course. Everyone here has to deal daily with legacy code which is often ...
5
votes
7answers
288 views

What should be the “depth of design”? [closed]

We all know that the process of creating a design and the whole architecture of the software is very important before writing the code. But how deep should be dive into the design stuff - should we ...
23
votes
11answers
1k views

Is it possible to write software that doesn't need to be continually modified?

I have written a lot of software in many different languages, and I've also "written" hardware for use with FPGAs using Verilog and VHDL. I tend to enjoy writing hardware more than software, and I ...
3
votes
1answer
331 views

Architecting an organization's web strategy. What is the preferred method here?

I'm working on a solution for an organization that needs to last them long term (as subjective as that is). They currently have a Joomla installation whereby the CMS talks directly to the database, ...
1
vote
1answer
100 views

How should I extend an existing Service?

Our system's main functionality is encapsulated in a service, let's call it X. There are requests coming in to X-Manager service which deal with all validations and security issues, and activates X's ...
7
votes
4answers
455 views

Is there really such a thing as “push”?

Once you escape the realm of electrical signals and are dealing with software, is there really such a thing as a "push" architecture where there isn't periodic polling? I can't think of any design ...
3
votes
2answers
496 views

Is there a design pattern for modelling job execution flow?

In my application I have a set of jobs to execute: Each job goes through the states "not started", "started", "completed", "failed" etc. Each job has a set of pre-conditions and post-conditions. ...
27
votes
8answers
3k views

Can manager classes be a sign of bad architecture?

Lately I've begun to think that having lots of manager classes in your design is a bad thing. The idea hasn't matured enough for me to make a compelling argument, but here's a few general points: I ...
7
votes
3answers
434 views

How big should OSGi bundles be?

Or more completely "What are the trade-offs and questions that should be raised when trying to decide the bundle structure of an OSGi application?" Our existing OSGi bundles have tended to be quite ...
1
vote
1answer
1k views

Books that every software system architect/data modeller must read [closed]

I hope I'm not confusing the term system architecture with the data model/database. Is there a book out there that's the standard for describing best practices, design methodologies, and other ...
0
votes
1answer
184 views

How to deploy a heterogeneous server application to customers?

We have a bigger application server which customers would like to have deployed locally. It consists of an MySQL server database, a REDIS database, multiple Web servers for sub parts, a NGINX reverse ...
6
votes
2answers
503 views

How to structure this program?

I am struggling with the best way to structure a program that I am writing because the method I currently have feels very clunky and each part depends a lot on the others. This is what the program ...
7
votes
3answers
1k views

What does the 'R' in x64 register names stand for?

I know the 32 bit registers were named like the 16 bit registers with an 'E' prefix to mean extended. I've always assumed that meant extended from 16 to 32 bits although I've never seen that ...
8
votes
2answers
4k views

Using Memcached: is it good practice to update the cache when updating the database?

This question is about best practices in architecture. Our Current Architecture I have a PHP class that accesses MySQL for user info. Let's call it User. User is accessed many times, so we have ...
2
votes
2answers
2k views

How can I separate the user interface from the business logic while still maintaining efficiency?

Let's say that I want to show a form that represents 10 different objects on a combobox. For example, I want the user to pick one hamburguer from 10 different ones that contain tomatoes. Since I want ...
-1
votes
0answers
107 views

Extensibility in multi-tenant systems? [duplicate]

Possible Duplicate: How do you manage extensibility in your multi-tenant systems? I asked this on StackOverflow, but I thought it might be more appropriate for Programmers. I've got a ...
10
votes
7answers
880 views

Rule of thumb for cost vs. savings for code re-use [duplicate]

Is it a good rule of thumb to always write code for the intent of re-using it somewhere down the road? Or, depending on the size of the component you are writing, is it better practice to design it ...