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
336
votes
26 answers

How do I prevent site scraping?

I have a fairly large music website with a large artist database. I've been noticing other music sites scraping our site's data (I enter dummy Artist names here and there and then do google searches for them). How can I prevent screen scraping? …
pixel
  • 3,509
  • 3
  • 17
  • 7
322
votes
8 answers

Component based game engine design

I have been looking at game engine design (specifically focused on 2d game engines, but also applicable to 3d games), and am interested in some information on how to go about it. I have heard that many engines are moving to a component based design…
a_m0d
  • 12,034
  • 15
  • 57
  • 79
300
votes
12 answers

Session lock causes ASP.Net websites to be slow

I just discovered that every request in an ASP.Net web application gets a Session lock at the beginning of a request, and then releases it at the end of the request! In case the implications of this are lost on you, as it was for me at first, this…
James
  • 7,877
  • 7
  • 42
  • 57
299
votes
7 answers

Difference between a "coroutine" and a "thread"?

What are the differences between a "coroutine" and a "thread"?
jldupont
  • 93,734
  • 56
  • 203
  • 318
293
votes
8 answers

Best way to allow plugins for a PHP application

I am starting a new web application in PHP and this time around I want to create something that people can extend by using a plugin interface. How does one go about writing 'hooks' into their code so that plugins can attach to specific events?
Wally Lawless
  • 7,539
  • 7
  • 37
  • 53
292
votes
7 answers

How is Node.js inherently faster when it still relies on Threads internally?

I just watched the following video: Introduction to Node.js and still don't understand how you get the speed benefits. Mainly, at one point Ryan Dahl (Node.js' creator) says that Node.js is event-loop based instead of thread-based. Threads are…
Ralph Caraveo
  • 10,025
  • 7
  • 40
  • 52
290
votes
9 answers

Should services always return DTOs, or can they also return domain models?

I'm (re)designing large-scale application, we use multi-layer architecture based on DDD. We have MVC with data layer (implementation of repositories), domain layer (definition of domain model and interfaces - repositories, services, unit of work),…
280
votes
3 answers

In general is it better to use one or many useEffect hooks in a single component?

I have some side effects to apply in my react component and want to know how to organize them: as a single useEffect or several useEffects Which is better in terms of performance and architecture?
Vadim
  • 3,474
  • 3
  • 14
  • 21
269
votes
9 answers

When and How to use GraphQL with microservice architecture

I'm trying to understand where GraphQL is most suitable to use within a microservice architecture. There is some debate about having only 1 GraphQL schema that works as API Gateway proxying the request to the targeted microservices and coercing…
Fabrizio Fenoglio
  • 5,767
  • 14
  • 38
  • 75
257
votes
14 answers

What's the difference between "Layers" and "Tiers"?

What's the difference between "Layers" and "Tiers"?
cretzel
  • 19,864
  • 19
  • 58
  • 71
245
votes
11 answers

Transactions across REST microservices?

Let's say we have a User, Wallet REST microservices and an API gateway that glues things together. When Bob registers on our website, our API gateway needs to create a user through the User microservice and a wallet through the Wallet microservice.…
Olivier Lalonde
  • 19,423
  • 28
  • 76
  • 91
243
votes
23 answers

How do you design object oriented projects?

I'm working on a large project (for me) which will have many classes and will need to be extensible, but I'm not sure how to plan out my program and how the classes need to interact. I took an OOD course a few semesters back and learned a lot from…
Victor
  • 5,697
  • 6
  • 34
  • 41
241
votes
6 answers

Why is Linux called a monolithic kernel?

I read that Linux is a monolithic kernel. Does monolithic kernel mean compiling and linking the complete kernel code into an executable? If Linux is able to support modules, why not break all the subsystems into modules and load them when necessary?…
Boolean
  • 14,266
  • 30
  • 88
  • 129
223
votes
2 answers

Singleton by Jon Skeet clarification

public sealed class Singleton { Singleton() {} public static Singleton Instance { get { return Nested.instance; } } class Nested { // Explicit static constructor to tell C#…
amutha
  • 2,263
  • 2
  • 14
  • 3
215
votes
11 answers

Single Page Application: advantages and disadvantages

I've read about SPA and it advantages. I find most of them unconvincing. There are 3 advantages that arouse my doubts. Question: Can you act as advocate of SPA and prove that I am wrong about first three statements? ===…
VB_
  • 45,112
  • 42
  • 145
  • 293