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
151
votes
11 answers

Thread vs ThreadPool

What is the difference between using a new thread and using a thread from the thread pool? What performance benefits are there and why should I consider using a thread from the pool rather than one I've explicitly created? I'm thinking specifically…
Mark Ingram
  • 71,849
  • 51
  • 176
  • 230
150
votes
5 answers

AngularJS: Understanding design pattern

In the context of this post by Igor Minar, lead of AngularJS: MVC vs MVVM vs MVP. What a controversial topic that many developers can spend hours and hours debating and arguing about. For several years AngularJS was closer to MVC (or rather one…
148
votes
10 answers

Describe the architecture you use for Java web applications?

Let's share Java based web application architectures! There are lots of different architectures for web applications which are to be implemented using Java. The answers to this question may serve as a library of various web application designs with…
user14070
140
votes
16 answers

When are you truly forced to use UUID as part of the design?

I don't really see the point of UUID. I know the probability of a collision is effectively nil, but effectively nil is not even close to impossible. Can somebody give an example where you have no choice but to use UUID? From all the uses I've…
Pyrolistical
  • 27,624
  • 21
  • 81
  • 106
139
votes
5 answers

Advantage of creating a generic repository vs. specific repository for each object?

We are developing an ASP.NET MVC application, and are now building the repository/service classes. I'm wondering if there are any major advantages to creating a generic IRepository interface that all repositories implement, vs. each Repository…
Beep beep
  • 18,873
  • 12
  • 63
  • 78
136
votes
3 answers

In Flux architecture, how do you manage Store lifecycle?

I'm reading about Flux but the example Todo app is too simplistic for me to understand some key points. Imagine a single-page app like Facebook that has user profile pages. On each user profile page, we want to show some user info and their last…
Dan Abramov
  • 264,556
  • 84
  • 409
  • 511
134
votes
14 answers

How to list supported target architectures in clang?

Currently I am interested in ARM in general and specifically iPhone/Android targets. But I just want to know more about clang, since it feels to play important role in the years to come. I tried clang -cc1 --help|grep -i list clang -cc1 --help|grep…
exebook
  • 32,014
  • 33
  • 141
  • 226
130
votes
12 answers

What is a "feature flag"?

High Scalability mentions feature flags here: 5 things toxic to scalability, "5. Lack of Feature Flags" What exactly are feature flags?
GurdeepS
  • 65,107
  • 109
  • 251
  • 387
129
votes
8 answers

Why do we need RESTful Web Services?

I'm going to learn RESTful web services (it's better to say that I'll have to do this because it's a part of CS master degree program). I've read some info in Wikipedia and I've also read an article about REST at Sun Developer Network and I see…
Roman
  • 64,384
  • 92
  • 238
  • 332
125
votes
7 answers

React / Redux and Multilingual (Internationalization) Apps - Architecture

I'm building an app that will need to be available in multiple languages and locales. My question is not purely technical, but rather about the architecture, and the patterns that people are actually using in production to solve this problem. I…
122
votes
24 answers

Macro definition to determine big endian or little endian machine?

Is there a one line macro definition to determine the endianness of the machine? I am using the following code but converting it to macro would be too long: unsigned char test_endian( void ) { int test_var = 1; unsigned char *test_endian =…
manav m-n
  • 11,136
  • 23
  • 74
  • 97
119
votes
1 answer

Where does Elixir/erlang fit into the microservices approach?

Lately I've been doing some experiments with docker compose in order to deploy multiple collaborating microservices. I can see the many benefits that microservices provide, and now that there is a good toolset for managing them, I think that it's…
Papipo
  • 2,799
  • 2
  • 23
  • 28
118
votes
3 answers

How exactly does the Spring BeanPostProcessor work?

I am studying for the Spring Core certification an I have some doubts about how Spring handle the beans lifecycle and in particular about the bean post processor. So I have this schema: It is pretty clear for me what it means: The following steps…
AndreaNobili
  • 40,955
  • 107
  • 324
  • 596
116
votes
11 answers

Why do stacks typically grow downwards?

I know that in the architectures I'm personally familiar with (x86, 6502, etc), the stack typically grows downwards (i.e. every item pushed onto the stack results in a decremented SP, not an incremented one). I'm wondering about the historical…
Ben Zotto
  • 70,108
  • 23
  • 141
  • 204
115
votes
4 answers

CQRS: Command Return Values

There seems to be endless confusion about whether commands should or should not have return values. I would like to know if the confusion is simply because the participants have not stated their context or circumstances. The Confusion Here are…
Brent Arias
  • 29,277
  • 40
  • 133
  • 234