Questions tagged [architecture]

Architecture encompasses the process, artifacts and high-level structure of a solution.

Architecture on StackOverflow.com

The Architecture tag on StackOverflow tends to cover a broad range of topics related to architecture, but mostly focuses on issues related to software.

More broadly...

As a Process

Architecture looks to gather information and make informed decisions regarding the nature of the solution. This specifically includes:

  • Interaction with various stakeholders.
  • Establishing the relative importance of various System Quality Attributes which will drive the architecture.
  • Evaluating different options against requirements (which can be both project specific and enterprise wide).

As a Role

Architecture covers the entire domain of software / information systems, and is composed of many specific roles that deal with the diverse complexity of that domain.

  • Enterprise Architects who deal with the top most strategic level of (often business orientated) architecture.
  • Solution Architects who tend to work on project specific work, and whom cover a very broad range of technology.
  • Software Architects who tend to work very much as Solution Architects but with a specific focus on Software.

These roles tend cover a broad spectrum of disciplines, and are supported by the follow roles which tend to have a much more specific focus and whom can cover both project specific work and enterprise wide concerns (such as tool selection):

  • Infrastructure and Network Architects who deal with those respective areas (see https://serverfault.com).
  • Data Architects who deal with all aspects relating to data including management, quality and re-use. Data Architects also deal with Business Intelligence.
  • Security Architects who focus on all aspects of security.

This list isn't exhaustive, other common architecture roles include Application Architect and Technical Architect.

17088 questions
69
votes
16 answers

Dynamic Database Schema

What is a recommended architecture for providing storage for a dynamic logical database schema? To clarify: Where a system is required to provide storage for a model whose schema may be extended or altered by its users once in production, what are…
Fake Jim
  • 1,122
  • 2
  • 11
  • 10
69
votes
8 answers

what is the difference between 3 tier architecture and a mvc?

what is the difference between 3 tier architecture and a mvc ? Are they same? Both have 3 layers i.e model, views and controller
user1414880
67
votes
6 answers

What's the difference between application layer and business logic layer?

What's the difference between application layer and business logic layer? I kind of understand that business layer provides business specific services and application layer couples business services and provides services to the end user (Web…
miceuz
  • 3,327
  • 5
  • 29
  • 33
67
votes
8 answers

How to detect target architecture using CMake?

I've done a lot of research and been unable to find an answer to this... how can I reliably find the target architecture I'm compiling for, using CMake? Basically, the equivalent to QMAKE_TARGET.arch in qmake. Most sources seem to suggest…
Jake Petroules
  • 23,472
  • 35
  • 144
  • 225
66
votes
3 answers

Is Django for the frontend or backend?

I often see people claiming their backend is implemented in Django, but isn't Django supposed to be for the frontend? I'd assume the backend refers to the business logic where the frontend refers to the presentation. Am I missing something?
Kar
  • 6,063
  • 7
  • 53
  • 82
66
votes
9 answers

Should I use a single or multiple database setup for a multi-client application?

I am working on a PHP application that intends to ease company workflow and project management, let's say something like Basecamp and GoPlan. I am not sure on what the best approach is, database-wise. Should I use a single database and add…
Aron Rotteveel
  • 81,193
  • 17
  • 104
  • 128
65
votes
9 answers

How to design scalable applications?

How do you design/architect a scalable application? Any suggestion of books or websites that could help to understand how to scale out applications? Thanks
Martin
  • 39,309
  • 62
  • 192
  • 278
65
votes
2 answers

Microservices with shared database? using multiple ORM's?

I'm learning about microservices and I'm gonna build a project with a microservices architecture. The thing is, one of my team mates want to use one database for all services, sharing all tables so "data doesn't get repeated", each service would be…
65
votes
3 answers

Clean Architecture vs Onion Architecture

I have been reading up on the Onion Architecture and today I found out about Uncle Bob's Clean Architecture. For the life of me I cannot see any differences between them, they look identical (other than the naming convention). Is there any…
user3373870
  • 1,406
  • 2
  • 13
  • 17
65
votes
18 answers

When to rewrite a code base from scratch

I think back to Joel Spolsky's article about never rewriting code from scratch. To sum up his argument: The code doesn't get rusty, and while it may not look pretty after many maintenance releases, if it works, it works. The end user doesn't care…
Jack Marchetti
  • 15,536
  • 14
  • 81
  • 117
64
votes
3 answers

optimal architecture for multitenant application on django

I've been brooding over the right/optimal way to create a multitenancy application based on Django. Some explanation: Application can be used by several tenants (tenant1, tenant2, ...,). All tenant-individual data has to be secured against access…
Oliver Rehburg
  • 643
  • 6
  • 5
64
votes
3 answers

What is the real difference between "Bastard Injection" and "Poor Man's Injection"

From the Dependency Injection in .NET book I know that the object graph should be created at the Composition Root of the application which makes a lot of sense to me when you are using an IoC Container. In all the applications I've seen when an…
Sergio Romero
  • 6,477
  • 11
  • 41
  • 71
64
votes
4 answers

Is NodeJS really Single-Threaded?

Node.js solves "One Thread per Connection Problem" by putting the event-based model at its core, using an event loop instead of threads. All the expensive I/O operations are always executed asynchronously with a callback that gets executed when the…
Filipe Santos
  • 1,629
  • 3
  • 18
  • 27
64
votes
8 answers

Avoiding Circular Dependencies of header files

Do you have any good advice on how to avoid circular dependencies of header files, please? Of course, from the beginning, I try to design the project as transparent as possible. However, as more and more features and classes are added, and the…
Bunkai.Satori
  • 4,698
  • 13
  • 49
  • 77
63
votes
6 answers

Do you know any alternative to NDepend for architects?

do you know any software similar to NDepend? I've got it just recently, and found it very useful. It helped me a lot, but for now i don't have a possibility to buy a professional version. So, is there any alternative (maybe, open-source)?…
0100110010101
  • 6,469
  • 5
  • 33
  • 38