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

6
votes
4answers
353 views

Are the technologies used in an application part of the architecture, or do they represent implementation/detailed design details?

When designing and writing documentation for a project an architecture needs to be clearly defined: what are the high-level modules of the system, what are their responsibilities, how do they ...
7
votes
2answers
12k views

Distinction between API and frontend-backend

I'm trying to write a "standard" business web site. By "standard", I mean this site runs the usual HTML5, CSS and Javascript for the front-end, a back-end (to process stuff), and runs MySQL for the ...
1
vote
1answer
110 views

HTML Canvas: Should my app x, y values be global?

I have a large file of functions. Each of these functions is responsible for drawing a particular part of the application. My app has x and y parameters that I use in the setup function to move the ...
5
votes
3answers
278 views

How should modules access data outside their scope? [closed]

I run into this same problem quite often. First, I create a namespace and then add modules to this namespace. Then issue I always run into is how best to initialize the application? Naturally, each ...
-1
votes
1answer
303 views

What operating systems use both a Render thread and a UI thread? [closed]

Microsoft employees commonly describe Windows 8 as having both a Render thread and UI thread. Typically they say the Render thread performs animations and the UI thread handles most other operations: ...
4
votes
1answer
2k views

How should I architect a personal schedule manager that runs 24/7? [closed]

I've developed an ADHD management system for myself that's attempting to change multiple habits at once. I know this is counter to conventional wisdom, but I've tried the conventional for years & ...
3
votes
2answers
714 views

Tester/Doer pattern: Assume the caller conforms to the pattern or be defensive and repeat the check?

Assume a simple class that implements the Tester/Doer pattern: public class FooCommandHandler : ICommandHandler { public bool CanHandle(object command) { return command is FooCommand; ...
4
votes
3answers
2k views

Why should I adopt MVC? [duplicate]

I decided to get my hands wet and got the YII framework for PHP. I created my first application, then created new controller, model and view. Connected to database, got my record passed from ...
2
votes
3answers
750 views

Recommened design pattern to handle multiple compression algorithms for a class hierarchy

For all you OOD experts. What would be the recommended way to model the following scenario? I have a certain class hierarchy similar to the following one: class Base { ... } class Derived1 : ...
5
votes
6answers
258 views

Query something and return the reason if nothing has been found

Assume I have a Query - as in CQS that is supposed to return a single value. Let's assume that the case that no value is found is not exceptional, so no exception will be thrown in this case. ...
1
vote
2answers
93 views

Decorator not calling the decorated instance - alternative design needed

Assume I have a simple interface for translating text (sample code in C#): public interface ITranslationService { string GetTranslation(string key, CultureInfo targetLanguage); // some other ...
3
votes
1answer
321 views

What specific features of NHibernate cause it to be recommended for legacy database systems?

So, I've been evaluating Entity Framework and NHibernate (I'm not looking for an EF vs. NH battle here, though!). One thing that I see come up very often is that NHibernate is recommended for ...
-1
votes
1answer
468 views

Compile and run submissions of online judge in the same or separate server?

I am going to make an online judge platform. I have looked for some online judge platforms on the Internet for reference (I mean the platforms which have the source code available, and can be hosted ...
0
votes
2answers
432 views

In OnionArchitecture can UI talks directly to datastore or not?

I'm fan of onion architecture but looking for some relaxing solutions in some areas. First of all I was thinking about communicating directly from UI (from controller in mvc) to data on the read ...
0
votes
1answer
431 views

Redis & MongoDB for Metrics Platform

I'm in the process of writing an app that will ultimately display analytics to the user. I've written a service that collects data from an API. This data will then be processed, stored, then when the ...
7
votes
4answers
1k views

Building a web application that is almost completely rendered by Javascript, while back end only delivers Json. Do or don't?

As a programmer, and taking into account the overall "funness" of the process, I'm tempted to start a project in Sinatra where the back end's sole concern is the logic, and returning a Json API, and ...
1
vote
3answers
2k views

How do I convert a list of Requirements into Constraints?

I am trying to prepare my first software design document. I am self-taught and have no formal training in CS. Having done a wee bit of reading up on it beforehand, I have created a list of ...
0
votes
1answer
140 views

Architecture for writing add-ins for closed-source software

currently I'm designing an add-in for the modelling tool Enterprise Architect. The general architecture is shown in the picture below. Basically every action where the add-in can react to is ...
19
votes
6answers
12k views

What are the pros and cons of HTML5, native and hybrid mobile app approaches?

I want to develop a mobile application. I recently read an article on Telerik Forum, which compares among three types of mobile application and I don't know which one should I select to begin with. ...
0
votes
3answers
324 views

How do you balance out code structuring (few big functions vs. many small ones)?

The golden rule of code structuring is always said as splitting into many sub functions is a good thing. Though I noticed it becomes a problem in complex applications when a class of e.g. 10 bigger ...
2
votes
1answer
264 views

Design for migrating to Multitenant architecture

We are in a process of redesigning our product code in such a way so as to support multitenancy. Currently the implementation is such that one product deployment caters to only one customer. Thus ...
1
vote
1answer
73 views

IXRepository and test problems

Recently had a doubt about how and where to test repository methods. Let the following situation: I have an interface IRepository like this: public interface IRepository<T> where T: class, ...
2
votes
1answer
157 views

Scalable spring core with AMQP?

I use 3 standard Spring MVC war, which share a common core (Services, DAO, and Models). The main problem is when I plan to deploy all the 3 wars on a same server. I have the Core Application Context ...
3
votes
2answers
578 views

Software design vs physical products design

I got a bunch of questions to answer to prepare for an exam and this one I'm actually not sure what's the clear difference : "Explain the difference between designing software and designing physical ...
1
vote
3answers
849 views

Should I use different projects for building different layers in a 3-layer model?

I am creating a new project from scratch and have decided to use a 3-layer model. I am using: the 1st layer for business entities, the 2nd layer for business logic, and the 3rd layer for data logic ...
2
votes
1answer
667 views

Use case decomposition for class registration system

I am currently working on refactoring a summer camp registration system to include some new features and will also be using it as the basis for a new after-school class registration system. For this ...
4
votes
3answers
166 views

What is a good rule-of-thumb for naming link-tables?

In the same way that a publication table might relate to a person table via subscriptions, or a company table might relate to a person table via employee, I'm wondering if there is a descriptive way ...
5
votes
2answers
579 views

Please explain object versioning in the nodejs module system

This question is about the persistance of variables across different modules in nodejs when they don't directly "require" each other, but do "require" a common ancestor. It is also the generalised ...
1
vote
2answers
822 views

How my website should use its own API?

Im building small web-service which will provide my users with data through API. Also, some data will be available right on my website. The question is about how to use my own API? Should my website ...
1
vote
1answer
263 views

best (web) architecture for my project

So I'm not sure if this is really the right place to ask or even the right question but I want to give it a try. Requirements: We should have a database & webservice (or something similar) which ...
3
votes
1answer
226 views

What does it mean for an architectural style to be document-centric?

I heard it said that REST is "document-centric". Unclear what this meant, I began poking around and found the term document-oriented being used of databases, particularly NoSQL databases, and in ...
3
votes
1answer
291 views

Architecture For Mockable DAL On Large Projects

I have recently been reading an article about creating a blog using ASP.NET and MVC, and in the article the user splits the Data Access Layer into a separate Class Library, and creates an interface ...
1
vote
1answer
417 views

Does this violate the using exceptions for flow control “rule”?

I plan to make use of this interface in a plug-in architecture. /// <summary> /// Generic interface allowing you to react to an event. /// You can block the event or just use it for ...
3
votes
2answers
2k views

Saving user profiles in SQL database

So, I got a table UserProfiles in my database, that, similar to C#'s Settings file, holds a property with the appropriate datatype and the specified setting in the profile. Now each time I add a new ...
1
vote
2answers
996 views

MVC pattern with JSF-Spring-MyBatis webapp

I've a Java webapp with these frameworks and I want to know if my implementation meets with MVC pattern: Controller Layer (V) I'm using JSF @ManagedBean public class Controller{ ...
4
votes
2answers
7k views

What is the way to go to extract data from websites? [closed]

I've been thinking about a side project that envolves web data scraping. Ok, I read the Getting data from a webpage in a stable and efficient way question and the discussion gave me some insights. ...
3
votes
1answer
249 views

Rails + Heroku Architecture

I'm in the process of developing a Rails app that I plan on subsequently deploying to Heroku. I've never run apps on Heroku (outside of the free simple app) so I have some questions on a few things on ...
2
votes
4answers
946 views

Should the design take longer than code development? [duplicate]

I once heard that if you spend 90% of your time developing the design of your program the coding part will only take a trivial 10% of the time. I have found a lot more success in spending about 30% ...
61
votes
13answers
6k views

Why is it a good idea for “lower” application layers not to be aware of “higher” ones?

In a typical (well-designed) MVC web app, the database is not aware of the model code, the model code is not aware of the controller code, and the controller code is not aware of the view code. (I ...
3
votes
1answer
886 views

The Request/Response Cycle

When User A decides he want to pay a visit to http://example.com/ it all begins with a Request. A short moment later he is given a Response. In this cycle Request-Response a lot is going on, in ...
6
votes
2answers
1k views

What is the difference between implementation and realization in Mythical Man Month?

In Fred Brook's Mythical Man Month chapter 4 (Aristocracy, Democracy, and System Design) page 49, he says: As Blaauw points out, the total creative effort involves three distinct phase: ...
3
votes
1answer
322 views

Why doesn't layered architecture translate easily to tiered architecture?

Basically, I'm trying to understand why layered and tiered are that different, and why they don't translate easily to each other. I understand that layered could be 3 separate class files for UI, BL ...
-1
votes
1answer
134 views

Writing data driven reflection based tests to ensure design completeness [closed]

When writing software I'm often forced to at some point to make a decision that involves a design pattern of "by convention" naming and behavioral patterns. This normally makes me feel kind of slimy ...
4
votes
6answers
573 views

Re-architecting a classic inheritance design

I have the opportunity to rewrite a core piece of a project (C#) that is inheritance-heavy and feels increasingly restrictive in how it is designed. The scenario is pretty simple, imagine an ...
1
vote
0answers
24 views

Re-architecting a classic inheritance design [duplicate]

I have the opportunity to rewrite a core piece of a project that is inheritance-heavy and feels increasingly restrictive in how it is designed. The scenario is pretty simple, imagine an application ...
2
votes
2answers
124 views

Find common functionalities or functions between 2 programs

I've been facing a problem recently, in which I want to optimize two programs. For that, I wanted to create some kind of "Common Interface" which I could reuse between my two programs. However, the ...
6
votes
1answer
3k views

What UML diagram should I use to show a platform's architecture?

I have been learning UML and have a basic understanding now, but I keep seeing these sort of high level architecture diagrams. Here's one from Microsoft: Source: A bad picture is worth a thousand ...
1
vote
1answer
98 views

Rules of thumb regarding breaking into sub-projects

We are building a Game Client and Server, our system is broken into four major projects: (Client and Server, Shared Interfaces, Source Art). In addition, both client and server have a set of libraries ...
2
votes
3answers
2k views

Is there a better way of handling access control logic instead of it being in the UI?

Through most of my dev experience, I've never had to deal with much variety of access control architectures. They've all been pretty straight forward: Group [Create, Update, Delete] - User 1 ...
-1
votes
1answer
162 views

How is transparency defined in context of the broker architecture? [closed]

I would like to know how transparency is defined, and what is the measurement for this in the context of a broker architecture. For example : from a developer point of view, [in the broker ...