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

5
votes
1answer
277 views

Small classes and methods, but code still difficult to maintain and follow

Did I do something wrong in my code organization ? I still find my own program difficult to follow. I tried to decompose my program on small, easy to understand classes and functions, still I find ...
2
votes
1answer
99 views

Is it anti-pattern to alter domain model on front end?

We are making a quiz application, I'm trying to integrate my Angular 2 UI with the REST api. Our Quiz domain model consist of the following (simplified) hierarchy: -Quiz -Category -Question -Choice ...
-1
votes
2answers
82 views

Connecting an HTML form to a Java program [closed]

I would like to create a front-end interface in HTML that interacts with a Java program via an HTML form. I would like to be able to publish this project on the Internet. In other words, the text ...
0
votes
0answers
18 views

Layout for Java Multi window applciation

I need to get to know how to architect my an application with multiple windows. It has a dashboard kind home or main window with few icons(12 or more) on it. Clicking on an icon it will open a ...
1
vote
1answer
34 views

How to implement searchable persistent queues?

We will implement a system , which will receive quite a lot of requests through web service interface. We will have to queue the requests and process them asynchronously. Consequently we will have to ...
6
votes
1answer
169 views

Chosing between microservice communication methods

I have a large customer facing web applicaton (.net mvc if that matters) that I need to split down to a number of services. Some of these services will then be shared with other applications. At the ...
27
votes
8answers
4k views

Value of using private methods vs all public in classes for internal software for ease of unit testing [duplicate]

Here's a skeleton of a class I built that loops through and deduplicates data - it's in C# but the principles of the question aren't language specific. public static void DedupeFile(FileContents fc) {...
4
votes
3answers
129 views

How to store uploaded client documents securely in webapplication

A small company without any IT skills wants to run a web application where customers can enter various bits of data and upload pdfs. The documents regard product specifications and have to be kept ...
1
vote
1answer
53 views

Accessing data from the middle-tier

I'm creating a 3-tier Web API application based on the Azure guide here. This has a middle tier and a data tier both in Web API. So far my application is pretty simple, the middle tier receives a ...
1
vote
3answers
223 views

What is wrong with treating a client session as a resource/application state in REST architecture?

Given these example REST API / HATEOAS applications: InfoQ How to GET a Cup of Coffee example Java Spring REST API example ... where POST/PUT/PATCHING resources clearly alters the state/...
2
votes
2answers
122 views

Advice converting a multiple-project ASP.NET WebForms website to MVC (using VS2015)

We inherited a large ASP.NET website built entirely in WebForms. The website has over 200 pages, spread across 60 WebForms projects inside of the website's solution. About half of the pages are static ...
3
votes
2answers
110 views

Should Erlang systems be monolithic?

Should Erlang systems (or anything running on the BEAM VM) be monolithic, i.e. everything running in the same distributed application, or should they be split into multiple microservices like any ...
1
vote
1answer
96 views

REST services with a local or remote application

I have several uncommon questions related to the design of REST services hosted on a server communicating with local or remote applications. As an example, let's say that I have 2 machines ("A" and "...
0
votes
1answer
46 views

Web App Authentication's Architecture Related Query

I have a web app that makes use of node.js in the backend and angulajs on the front end. Let's say I have a user who has the ability to login via multiple systems; I must allow multiple logins. I ...
0
votes
0answers
55 views

Should fragments register directly to an event bus or should only activites do so?

Please correct me if I'm wrong about any of the following. I understand that if a fragment wants to make a network call it tells it's activity then the activity makes the call and returns the answer ...
0
votes
1answer
45 views

Building an API with one central connection object to an external device

I want to build an API (Java) that heavily relies on a connection object to a data server that manages a connection to a real device. All i have is a DeviceConnection object. Currently i have a big ...
1
vote
1answer
137 views

Got confused while designing Aggregates

I am designing an application, which will store sports statistics, show them in different diagrams and do few more operations on them. Allow user to do some mock drafts etc. I choose to build a ...
7
votes
3answers
266 views

How to combine strict TDD and DDD?

TDD is about designing code, guided by tests. Thus, typical layers aren't usually built upfront; they should slightly appear through refactoring steps. Domain-driven design involves a lot of ...
0
votes
1answer
164 views

Onion architecture vs 3 layered architecture

I see only benefits to the onion architecture over the 3 layered architecture where the BL had responsibility to call methods on DAL (or an interface of DAL) to do CRUD. The onion has better ...
0
votes
1answer
97 views

What are the consequences of eliminating the ORM/ODM in a NoSQL based system?

In Martin Fowler's article OrmHate, he states the following: If you have an application problem that maps well to a NoSQL data model - such as aggregates or graphs - then you can avoid the ...
4
votes
1answer
223 views

Should use case/interactor `execute` method accept parameters

In most examples of clean architecture (Android projects mostly, though) I've noticed that the use-case/interactor classes (units that encapsulate a feature) often share base class/interface, like ...
0
votes
0answers
56 views

Embedding custom business logic using Javascript in Java application

We have an application where the front-end is completely rendered dynamically. The web page is stored as JSON in the database. A simple JSON to display input field with a label is as follows: { "...
4
votes
1answer
150 views

Idiomatic internal architecture of Go microservices

For learning purposes, i'm trying to implement a small project using (buzzword warning!) microservices. There are plenty of resources online talking about the 'macro' microservice world -integration, ...
4
votes
1answer
100 views

Considerations for decoupling and refactoring business logic to a REST API

We've got a .NET Solution consisting of a MVC Website and a bunch of libraries for business and data logic. In the past the website was the only way to interact with our business logic, but we're ...
3
votes
3answers
287 views

Are global variables okay to use in asynchronous programs?

This may be a stupid question, sorry. I've read about the drawbacks of global variables a lot on this site. I'm finally trying to increase my code quality for a large project that'll be reviewed by ...
0
votes
0answers
35 views

Suggestions for dataloading - semi dynamic data

I have a very old Perl based system that is used for CAD drawing searches, where each drawing has many metadata fields associated with it. Currently, the 'old' system has a database schema that has ...
2
votes
1answer
125 views

What functionality to expose in a database abstraction layer?

I'm trying to design a simple way of abstracting away data persistence behind an interface, but I'm having a hard time figuring out how much fine grained control should be exposed to higher layers. ...
0
votes
0answers
34 views

Resolve route before invoking middleware chain

Say I have a HTTP middleware chain that handles all incoming requests. Where should the incoming request be resolved into an appropriate route? I have thought about doing so before the middleware is ...
-1
votes
1answer
71 views

Are there methods for mapping out a program's flow? [closed]

I am writing a modeling script that is composed of many functions, and I'm trying to keep a document going that looks something like this: build_model(data, outcome_variable) returns(model) ...
0
votes
3answers
244 views

What does Architecture of the project mean

I'm working on website and java application for my project and I'm writing report and there is question that say "What is the architecture of the project" I don't know what should I write because I ...
0
votes
3answers
130 views

How to deal with customer specific code

I would like some input to the following problem. Our product consists of many separate "modules" which can depend on each other. To bundle them up to a final product we create another "module" to ...
0
votes
0answers
92 views

How to limit api calls

I have following APIs in Node and I use Angular to consume the API. Each user is restricted to 100 news item. GET /news --> Get all the news GET /news/:id --> Get news with the id POST /news --&...
5
votes
5answers
532 views

.NET: Are web-based applications inherently harder to build than client-server?

We currently have an ongoing discussion about which approach to move into - we want to replace multiple older environments with .NET applications, and two potential architectures are under discussion: ...
2
votes
0answers
87 views

Architecture design for Web API with single endpoint

Scenario: I have a situation where I need to refactor a Web service with a single API endpoint that uses complex logic to insert, update and fetch data from a database. The clients use one call, and ...
4
votes
2answers
230 views

What are the advantages of using multi-tenant architecture with separate db schemas per customer?

I have a client that wants me to build a SaaS application with a multi-tenant architecture, where different clients will go in a separate schema on the same db server. I have seen this architecture ...
0
votes
2answers
106 views

When to use default arguments in functions [closed]

I've seen some people overusing default arguments and I was wondering when it is reasonable to use them. The main issue that I have is that sometimes it makes me think it using overloading when it ...
2
votes
1answer
87 views

Can I manage transactions in the UI

Do I need an "application/service" layer to manage transactions if the domain layer only services the UI? In other words, can't I just manage transactions in the UI when I have only one consumer of ...
3
votes
1answer
151 views

Data Layer Architecture Help

I need help architecting a data access layer using Entity Framework. Here are the requirements: The database is preexisting, an absolute mess, and it's structure and cannot be altered Entity ...
1
vote
1answer
99 views

System for scheduling parallel tasks/callbacks

I am looking for a system for building state machines with timed/scheduled transitions, and with events that happen periodically during a given state. I can implement it myself, though I feel like ...
4
votes
1answer
75 views

Protocol vs Generic

I have a class that uses a type, but it doesn't need to know anything about that type. In Swift, I can code this up one of two ways: protocol Type { } class Class { // use Type } or class ...
1
vote
4answers
452 views

Using negative numbers to return error conditions

In a method where any positive number returned would signify success, would it be good practice to use negative numbers to define error conditions? Could then use enums to make readable.
2
votes
3answers
94 views

What should be primary guideline when defining a bounded context?

When defining bounded contexts of a Domain, what should be a primary guideline: departments (Sales/Manufacturing/Warehousing), where each department has a common context (http://programmers....
1
vote
1answer
29 views

Approach for comparing versions of hierarchy

I'm looking for a language agnostic approach for the following. We are prototyping this in both relational and graph DBs, so, again I'm open to hearing all opinions with respect to those. Here is ...
2
votes
3answers
167 views

Can one html page with web services replace current server-client technology?

I have everything I need in 2 services in form of REST api's, is it a good idea or even possible to replace my existing asp.net app by writing ONE single html page (embedded with Angular templates) ...
1
vote
3answers
80 views

Should a repository or the Login/Register service have an encryption service as a dependency?

I'm designing a simple user login/register program with user login/register and a repository. The passwords for users should be encrypted when stored but I don't know where to put the encryption step ...
2
votes
3answers
221 views

Logging an audit trail (Java application)

I'm creating a Java (Spring Boot) application for creating Entities. I've got my @Controller for getting the data from a web front end, I've got my @Service for processing the data, and I've got my @...
0
votes
1answer
79 views

Should I use cqrs + es to build a slot machine app?

for me the app that I'm building, a very simple slot machine app where there is which users can deposit money to buy credits, and use those credits to play teh slot machine, and withdrawl their ...
1
vote
2answers
76 views

Stateful server on heroku

I'm building a multiplayer trivia game where the server is written in NodeJS and hosted on Heroku. I ran into a problem when the server should notify the users that time's up for answering a question ...
0
votes
3answers
66 views

Value of dependency injection in MVC with skinny controllers

Dependency injection is often recommended in MVC projects because it's easy to implement with the pattern and adds a host of potential benefits. Indeed, it actually comes bundled with the default MVC ...
3
votes
2answers
164 views

Write unit tests for the libraries, or just the application?

Background I am fairly new to unit testing, and have been recently using the Visual Studio Test Manager to create my Unit Tests. The way that I have currently been doing things is as follows: ...