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
112
votes
7 answers

What is the difference between an MVC Model object, a domain object and a DTO

What is the difference between a MVC Model object, a domain object and a DTO? My understanding is: MVC Model object: Models the data to be displayed by a corresponding view. It may not map directly to a domain object, i.e. may include data from one…
Timothy Mowlem
  • 1,121
  • 2
  • 8
  • 3
107
votes
3 answers

Fat models and skinny controllers sounds like creating God models

I've been reading a lot of blogs which advocate the fat models and skinny controllers approach, esp. the Rails camp. As a result the routers is basically just figuring out what method to call on what controller and all the controller method does is…
102
votes
9 answers

NOT using repository pattern, use the ORM as is (EF)

I always used Repository pattern but for my latest project I wanted to see if I could perfect the use of it and my implementation of “Unit Of Work”. The more I started digging I started asking myself the question: "Do I really need it?" Now this all…
Dejan.S
  • 18,571
  • 22
  • 69
  • 112
101
votes
11 answers

What's the difference between "Solutions Architect" and "Applications Architect"?

As far as I can see Solutions Architect is just a different "marketing" term for Applications Architect. Is that correct or are the roles actually different somehow? If so, how? And yes, I have searched for this both on StackOverflow and on Google.
EMP
  • 59,148
  • 53
  • 164
  • 220
100
votes
14 answers

Architecture of a single-page JavaScript web application?

How should a complex single-page JS web application be structured on the client-side? Specifically I'm curious about how to cleanly structure the application in terms of its model objects, UI components, any controllers, and objects handling server…
user65663
99
votes
5 answers

What is the difference between domain objects, POCOs and entities?

I was under the impression they are all basically the same. Are model objects also the same? Right now, in my architecture, I have: class Person { public string PersonId; public string Name; public string Email; public…
jpshook
  • 4,834
  • 6
  • 36
  • 45
92
votes
15 answers

Why should I isolate my domain entities from my presentation layer?

One part of domain-driven design that there doesn't seem to be a lot of detail on, is how and why you should isolate your domain model from your interface. I'm trying to convince my colleagues that this is a good practice, but I don't seem to be…
92
votes
3 answers

MVCS - Model View Controller Service

I've been using MVC for a long time and heard about the "Service" layer (for example in Java web project) and I've been wondering if that is a real architectural pattern given I can't find a lot of information about it. The idea of MVCS is to have a…
Matthieu Napoli
  • 48,448
  • 45
  • 173
  • 261
91
votes
12 answers

iOS app submission : missing 64-bit support

I sent an app yesterday for review, with no problem. I then realized that I had a very little fix to do (changing the max zoom level of a map from 19 to 18, nothing else), so I removed the binary from iTunes Connect, and tried to resubmit. Now I'm…
Tim Autin
  • 6,043
  • 5
  • 46
  • 76
90
votes
4 answers

Fat model / thin controller vs. Service layer

I have been developing enterprise applications for many years using .Net My apps usually have a domain model containing entities mapping to SQL DB tables. I use a Repository pattern, Dependency injection and a service layer. Recently we started…
88
votes
7 answers

Difference between frontend, backend, and middleware in web development

I was wondering if anyone can compare/contrast the differences between frontend, backend, and middleware ("middle-end"?) succinctly. Are there cases where they overlap? Are there cases where they MUST overlap, and frontend/backend cannot be…
mt3
  • 2,654
  • 4
  • 26
  • 29
88
votes
3 answers
85
votes
15 answers

How do you plan an application's architecture before writing any code?

One thing I struggle with is planning an application's architecture before writing any code. I don't mean gathering requirements to narrow in on what the application needs to do, but rather effectively thinking about a good way to lay out the…
xyz
  • 27,223
  • 29
  • 105
  • 125
84
votes
7 answers

How does a site like kayak.com aggregate content?

Greetings, I've been toying with an idea for a new project and was wondering if anyone has any idea on how a service like Kayak.com is able to aggregate data from so many sources so quickly and accurately. More specifically, do you think Kayak.com…
Jeff
  • 2,818
  • 3
  • 29
  • 31
84
votes
16 answers

Difference between event handlers and callbacks

What is the difference between an event handler and a callback function?
Aaron S
  • 5,023
  • 4
  • 29
  • 30