The high-level design and description of a software system. Architectural design distills away details of implementations, algorithms, and data representation to concentrate on the interaction of "black box" components.

learn more… | top users | synonyms

2
votes
1answer
72 views

Encapsulate one business story/use case in one class?

I don't like classes like *Service, with bunch of business methods - aka anemic model. I was thinking, instead, to have a class per use case. This was inspired (if not the same) from CQRS. Even if we ...
2
votes
2answers
82 views

Plugin/modular architecture - deployment concerns

I'm developing a desktop application in .Net that follows a plugin architecture, something like this:- I have a "core" .Net solution, containing the desktop exe project, and a handful of class ...
3
votes
3answers
250 views

Calling Web API vs adding reference to underlying dlls

This is more of an Architecture question, and I want to know all the possible pros and cons of the approach. In my org, we have an ASP.NET Application say "A", a Web API Project say "W", and ...
2
votes
3answers
112 views

Collections, relationships and tracking changes (in DDD)

Let's say we have a Book that has a List of Authors. Order of Authors is important. We then have the update page, where user can 1) add new author, 2) remove existing author or 3) change the order. ...
1
vote
1answer
240 views

How do you keep control in a large software project? [duplicate]

I've a large-ish software project that I'm the sole developer for (~80KLOCS and counting - I know there are much larger projects out there, but it's an order of magnitude larger than I've ever had to ...
1
vote
1answer
42 views

Models, types, different views and meta data

We have a software which purpose is to be used to help users build their own applications. It has to be very loose coupled with the infrastructure: for example, I can imagine users running it on MySQL ...
3
votes
1answer
66 views

Versioning business rules

TL;DR Storing ever-changing business rules so that an app can behave like it did at moment X in the past. Can it be done? If so, how? Long version At this very moment, this is more of a thought ...
1
vote
2answers
264 views

Mocking the context of application

We have a context of the application which is a static class named Holder containing several static properties initialized by objects that are used throughout the application. All over the unit tests ...
3
votes
1answer
2k views

Architecture for a mobile (Android) chat application

I want to develop a chat application that reminds a bit whatsapp, I am doing it as a learning project. I am currently doing it on Android just because I am doing an Android course. The requirements ...
2
votes
1answer
228 views

Program Architecture: How to manage objects that are interdependent

Consider the following case, image I making a simple chat program; I want it to be extensible such that it would be fair easy to add add different scripting and user interfaces. I want the core ...
1
vote
1answer
123 views

Controller / Service - Should a service save changes to the database

I have an action on my controller called DeleteLine. This removes a line from the users basket. My controller action looks like this: [HttpGet] public ActionResult DeleteLine(int orderId, int ...
2
votes
1answer
275 views

Is the application architecture of Facebook Flux a new idea?

Facebook announced that it's using the architecture they call Flux to develop their projects. It consists of a single direction dataflow, and concepts like a Dispatcher, Stores and Actions (well ...
2
votes
2answers
160 views

Where does authorisation fit in a layered architecture?

Typically, I place authorisation decisions in my server side controllers. These have been RESTful endpoints recently, but I think the same stands for MVC type architectures. For the sake of argument ...
0
votes
1answer
204 views

Communication between Multiple Presenters in MVP

I'm designing an application using the MVP pattern, but a few of the edge cases for the system rely on communication between multiple presenters. View 1 calls Presenter 1 which does Operation A ...
2
votes
3answers
323 views

Is a bad choice to consume the REST API also from the back-end?

Using a REST API for front-end code is a desiderable and quite common practice. However, I was wondering if using it also for the back-end could be a good choice. What I mean is leaving the burden of ...
3
votes
1answer
227 views

The most effective arguments in favor of improving code quality, for a manager [closed]

My employer's legacy system started off (in 1997) as very structured procedural code (with a smidgeon of OO), and it was luckily one of the 10% of software projects that was successful. It may look a ...
1
vote
1answer
73 views

Would this be considered a plugin or template type architecture?

I would like to build a system that basically offers the option to make various APIs interchangeable for usage to the end user. For example, the person using the software would have the option of ...
2
votes
1answer
110 views

Best practice for accessing data from an external legacy ERP system

I have an architectural problem, and would be glad to receive some consultancy :). The application I am developing (let's call it system A) is responsible for management of work groups, where these ...
0
votes
4answers
132 views

Using email as a web service [closed]

I am looking for some arguments for or against a given solution. A public facing webserver hosts an aspx form and, based on user input, places the content of the form in XML within an email body. ...
-2
votes
1answer
64 views

Naming of classes [closed]

I am creating an Email sending client. My POJO domain model conssts of 2 string fields, userName and userId. My thought process around designing the classes was to club these 2 fields into a domain ...
1
vote
1answer
141 views

Synchronization between two systems using MongoDB as changelog

We are developing two related system. One of them (A) will be installed in our customers' machines. The remaining (B) will be used by my organization. Each system has its own database (relational) ...
2
votes
0answers
122 views

Distributed vs Centralised configuration

We're building an app based on Flux/React - and we're trying to establish a scalable pattern for configuring routes and registering dependencies. The two approaches we have can be broadly categorised ...
0
votes
0answers
14 views

Entity's creationTimestamp: on first storage or on instance creation?

I'm learning about the basic architecture of business applications, divided in layers like Domain Objects / Entities and a Persistance layer, where we use Repositories. It's in Java, but I guess the ...
-2
votes
1answer
91 views

Architecture - 3D Modeling Library

I'm writing a library to allow users to generate 3D models programatically. User writes code (e.g. Square(4)) User views preview of 3D model (with built in visualizer) User can "print" the model to ...
2
votes
1answer
556 views

Separation of retrieving data and business objects between DAL and BLL Layers

I did some research before posting this question. Among other questions or post, one of those is provided below. I could not get a clear mind how to determine.. Business Objects within a Data Access ...
3
votes
2answers
92 views

Reverse relationships for smaller/better Aggregates?

Let's take an example: we have two related entities, like Question and Choice. This is a poll: it contains of single question that may have 2 or more choices. Each choice can be voted for by users, ...
5
votes
1answer
153 views

“Implementing DDD” by Vernon: value object or not?

On page 382 of this book there is a passage talking about using value objects in aggregates, under the (entity) root. There is an example of Product that, besides other values, contains a ...
2
votes
1answer
177 views

DDD: Global unique identities vs surrogate

Let's start with an example: we have an entity: Book. It has unique identity: Isbn - a value object that wraps a String. This is an UUID. The Book entity also needs a surrogate id from the repo (sql ...
1
vote
1answer
50 views

DDD: storing additional data with the model

Our domain is operated within certain context. This context is described by some additional values, like a fooId - id that does not have a meaning in domain business, but it's more a flavor for the ...
2
votes
1answer
124 views

DDD: placement of method whose behavior may be implemented with single database query

Let's say we have Book entity in our library. A requirement says: Librarian may disable 'available' flag to books published before some year. For example, librarian may 'hide' some old books from ...
0
votes
2answers
92 views

DDD: service/repo operations on IDs or instances?

This might be silly, but: let's say I want to delete a Book from the repo. Should I: deleteBook(bookId) - send the ID since in the most of the time, the ID is passed from the UI or ...
0
votes
2answers
240 views

DDD: How to refer/select a value object inside aggregate?

We have an aggregate of: entity: Poll (representing a question) two or more value objects Choice Adding choices is done through Poll, repository stores only the aggregate, i.e. everything is done ...
0
votes
1answer
82 views

DDD: Alternative view of the Model?

I have a model class, let's say it's a Book. I need it to be displayed on the screen. I want to have an escaped version of it, so I do not need to escape fields manually. What should I do? I can ...
2
votes
0answers
69 views

Adding new service to authenticated website

So I've created an API that I want to leverage to add some functionality to an existing web app. My current website authenticates users using SAML. What I'm looking to do is instead of moving the code ...
3
votes
2answers
164 views

Model object and additional attributes

I have a model e.g. Book. Besides 'natural' attributes of a book, I have some mandatory IDs I need to carry on, like companyId, groupId. They are related to which organization unit this book belongs ...
1
vote
2answers
217 views

DDD and collections and paging of related models?

I have a rich model, where e.g. one model A depends on many related entities/value objects. Therefore we have methods in A for retrieving collections of related objects: getFoos(), getBars() and so ...
2
votes
1answer
277 views

NodeJs website webapp architecture

I would like some advice on how best to architect a website comprising the following: tool a landing page, open to the public, main marketing tool the main website/app, that people can access only ...
2
votes
0answers
114 views

Design for an application framework that will allow each implementation to customize parts of the UI

I am tasked with designing an application framework that will allow each implementation to customize parts of the user interface. One such example would be that the implementation (let's call it ...
0
votes
0answers
72 views

Design Logging (or: notify) architecture in application [duplicate]

Update: I edited my question to make my intentions more clear. So I think this question about logging will be different to the often asked questions. First things first: I have an application that ...
3
votes
1answer
182 views

A “Composite API” layer

We are giving services a complete overhaul at work: Swapping soap for rest, resculpting the domains to give better separation of concerns, etc. These new services will be publicly available. During ...
-1
votes
1answer
77 views

Learning About Different Architecture Set Ups [closed]

I'm sorry in advance if this isn't a good fit here, as it is a pretty open-ended question. In a nutshell: where / how / when does one learn about application architecture(s)? Normally for web ...
2
votes
2answers
147 views

Micro-services architecture and reporting services?

as I understand it micro-services are autonomous and have complete control over their own data and therefor each micro-service has a dedicated database. I was wondering what would be the approach to ...
-3
votes
2answers
56 views

How to perform deferred tasks in backend [closed]

Actually the problem is very common. Let me describe this by example. Imagine you have a web service where users register and pay for some gold status. There is expiration date. The question is how to ...
4
votes
1answer
490 views

avoiding multiple calls to SQL while being modular

I have a BusinessLayer.dll which calls DataAccessLayer.dll which ultimately makes the tcp connection to the SQL server. Each business layer method has a corresponding method in the data access layer ...
0
votes
2answers
61 views

combining user data from user table and user_profile table to just one table [closed]

We are using two table to manage user data. A user table that has a username, email, password. Then a user profile that has first name, last name, bio, etc. Due to some other requirements it has been ...
3
votes
3answers
102 views

Codifying architecture in requirements

For the development of a next generation of a medical monitoring device consisting of several dedicated hardware systems with embedded software, I am looking at the requirements for the current ...
0
votes
1answer
195 views

Folder structure or database structure for creating/editing 'files'?

As a hobby experiment I am creating a on-line tool for creating web sites with the ability to create custom HTML and CSS using a template engine for safe-use of functionality. Now I am in the ...
0
votes
0answers
112 views

REST API + “Micrososervices” boundaries

I have a REST API. The fundamentals of the API takes care of two things. Authentication Routes Let's say I was about to do a small service (microservice whatever...) next to the API and have it ...
0
votes
1answer
102 views

How to host a web service with dependencies on many APIs/SDKs which expose methods in different languages

A project I'm working on currently depends on several SDKs and APIs that perform identical tasks, but for different external products. For example, in an Internet of Things world we have a common ...
3
votes
1answer
142 views

Difference between patterns: Specification, Guarding, Conditions, Monads, Validation,

I'm currently trying to get my head around a few patterns (especially the ones mentioned in the title above) that are made to address different problems and are being used in different parts of the ...