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
211
votes
18 answers

Building a minimal plugin architecture in Python

I have an application, written in Python, which is used by a fairly technical audience (scientists). I'm looking for a good way to make the application extensible by the users, i.e. a scripting/plugin architecture. I am looking for something…
dF.
  • 74,139
  • 30
  • 130
  • 136
208
votes
6 answers

Should everything really be a bundle in Symfony 2.x?

I'm aware of questions like this, where people tend to discuss the general Symfony 2 concept of bundle. The thing is, in a specific application, like, for instance, a twitter-like application, should everything really be inside a generic bundle,…
Daniel Ribeiro
  • 10,156
  • 12
  • 47
  • 79
205
votes
12 answers

How to version control a record in a database

Let's say that I have a record in the database and that both admin and normal users can do updates. Can anyone suggest a good approach/architecture on how to version control every change in this table so it's possible to roll back a record to a…
Niels Bosma
  • 11,758
  • 29
  • 89
  • 148
203
votes
26 answers

C state-machine design

I am crafting a small project in mixed C and C++. I am building one small-ish state-machine at the heart of one of my worker thread. I was wondering if you gurus on SO would share your state-machine design techniques. NOTE: I am primarily after…
jldupont
  • 93,734
  • 56
  • 203
  • 318
200
votes
9 answers

What is opinionated software?

I often see people saying that certain software is "very opinionated" or that Microsoft tends to write "un-opinionated" frameworks. What does this actually mean?
Andriy Volkov
  • 18,653
  • 9
  • 68
  • 83
198
votes
14 answers

What is N-Tier architecture?

I've seen quite a few developer job postings recently that include a sentence that reads more or less like this: "Must have experience with N-Tier architecture", or "Must be able to develop N-Tier apps". This leads me to ask, what is N-Tier…
Joshua Carmody
  • 13,410
  • 16
  • 64
  • 83
195
votes
5 answers

Is it bad practice to have a constructor function return a Promise?

I'm trying to create a constructor for a blogging platform and it has many async operations going on inside. These range from grabbing the posts from directories, parsing them, sending them through template engines, etc. So my question is, would it…
adam-beck
  • 5,659
  • 5
  • 20
  • 34
187
votes
7 answers

Architecture for merging multiple user accounts together

Okay, I got a website where you can register yourself and login. You can also login with your facebook, twitter or linkedin account. It is important that users only have one account registered. So somehow, I want to merge the accounts of users if…
P.T.
  • 3,130
  • 4
  • 19
  • 24
178
votes
3 answers

Facebook Architecture

I have been scrounging for articles/info about the architecture at Facebook, the challenges & ways they tackle them. What they use & why they use. How do they scale & what are the design decisions for what they do etc. Main underpinning being to…
Srikar Appalaraju
  • 71,928
  • 54
  • 216
  • 264
178
votes
9 answers

How To Create a Flexible Plug-In Architecture?

A repeating theme in my development work has been the use of or creation of an in-house plug-in architecture. I've seen it approached many ways - configuration files (XML, .conf, and so on), inheritance frameworks, database information, libraries,…
justkt
  • 14,610
  • 8
  • 42
  • 62
177
votes
8 answers

What's the difference between design patterns and architectural patterns?

When we read about design patterns on the internet we note that there are 3 categories: Creational Structural Behavioral But when we create the architecture of a software, then we think about MVP, MVC or MVVM. For example, among creational…
Jeevan Bhatt
  • 5,881
  • 18
  • 54
  • 82
175
votes
7 answers

Exotic architectures the standards committees care about

I know that the C and C++ standards leave many aspects of the language implementation-defined just because if there was an architecture with other characteristics, a standard confirming compiler for that architecture would need to emulate those…
Yakov Galka
  • 70,775
  • 16
  • 139
  • 220
175
votes
5 answers

Microservice Authentication strategy

I'm having a hard time choosing a decent/secure authentication strategy for a microservice architecture. The only SO post I found on the topic is this one: Single Sign-On in Microservice Architecture My idea here is to have in each service (eg.…
Augustin Riedinger
  • 20,909
  • 29
  • 133
  • 206
171
votes
13 answers

When to use the Bridge pattern and how is it different from the Adapter pattern?

Has anyone ever used the Bridge pattern in a real world application? If so, how did you use it? Is it me, or is it just the Adapter pattern with a little dependency injection thrown into the mix? Does it really deserve its own pattern?
Charles Graham
  • 24,293
  • 14
  • 43
  • 56
152
votes
6 answers

How to implement the activity stream in a social network

I'm developing my own social network, and I haven't found on the web examples of implementation the stream of users' actions... For example, how to filter actions for each users? How to store the action events? Which data model and object model can…
Nicolò Martini
  • 5,182
  • 4
  • 32
  • 38