Questions about problem solving and planning for a solution through software design.

learn more… | top users | synonyms (1)

-2
votes
2answers
117 views

Where can I find software project deliverables/ documents to help me professionally document my projects? [closed]

Hie guys. I have never been employed in the software development industry and when I do projects I usually just draw non-standard diagrams or used use case diagrams and class diagrams. This time a ...
4
votes
3answers
70 views

Using Multiple 'Sub-types' vs a larger single type?

I have a user model in an application that I'm working on, which currently uses sub-types to encapsulate properties depending on what type of user you are - I just can't help but think that this is ...
7
votes
1answer
189 views

Should I use a Status field or rely on calculations?

A bit long, but the overall the question is: Should I have a status field in the table, or should I calculate the status in-memory from other information in the record? What are the pro/cons of each?...
2
votes
1answer
53 views

Getting instances without using the Spring context

I'm writing a small game of life implementation with Spring, but trying to avoid referencing the Spring context within my code. I have two interfaces, Board and Cell. In each implementation of Board ...
2
votes
2answers
300 views

Modeling a multi-channel communication device in C#

Background We (my coworkers and I) are architecting a high level C# API to interact with a hardware device's native Windows DLL. First I will discuss the hardware-architecture, then get to the ...
1
vote
1answer
135 views

Is it sensible to write a wrapper to use an OO library in this procedural project?

I am writing a program using a procedural style. At most I have some modules where the logic is present (one to retrieve data from, one to display the info, one with the saving logic, etc.), but my ...
1
vote
2answers
52 views

Why can't the Synchronizer Token Pattern be circumvented?

The synchronizer token pattern is the most effective protection against CSRF attacks. I understand the theory and implementation, but I do not understand why it can't be circumvented. Generally, the ...
5
votes
3answers
221 views

Design: How to avoid breaking backward compatibility because of database changes

This is my scenario, I have this interface: public interface hitTheDataBase { public void insertMe(String [] values); public void modifyMe(String [] values); public DataTable selectMe(); }...
2
votes
2answers
130 views

Design for autocompleting words in search engine?

I'm trying to implement an autocomplete feature for a search engine. I have a database of words(stemmed) that occur in the documents that I have for users to search. What I am thinking of doing is: ...
-1
votes
1answer
133 views

Does this pattern have a name?

I have a large XML file that I extract information from. I am extracting the information using a list of classes with a main method of the type ParsedValue[] GetValue(BigXmlFile). This is a bit like ...
4
votes
3answers
308 views

Does the visitor pattern violate the Liskov Substitution Principle

When using the Visitor pattern, I have observed the following: The visitor has weak dependencies to concrete types (each visit method has the concrete element as a parameter or is a method that ...
2
votes
0answers
61 views

Data pipeline with fallbacks and callbacks

I'm refactoring our current design for how we download static data. It's a mess of deep class hierarchy and callback hell and I want to convert it to a more elegant straightforward design. Here are ...
7
votes
1answer
106 views

Less strict separation of design and implementation phases for our domain

I work for a company that has a very large government contract. As part of the realities of a government project, we are bound to process requirements that come down to us from the Department of ...
2
votes
0answers
62 views

How do I design concurrent scalable system with guaranteed ordering? How about Akka?

I have designed a simple PoC system that processes a feed of prices that tick. It consumes a stream of "Ticker, Price" objects off JMS and updates a map, so that the map simply contains the latest ...
2
votes
1answer
57 views

Inferring system configuration using the existence of a file? any good?

This is a generic question about the idea of inferring some of the system configurations from the existence of a file or the lacking of it. For example, we have a module of the system which is ...
1
vote
2answers
114 views

Fault tolerant software design of application running as distributed cluster

Mission-critical software system (such as systems-control software in spacecrafts) often employ multiple redundant software modules developed by different teams (sometimes using different programming ...
0
votes
1answer
97 views

Generate id in application or use database generated one?

I am writing a small app that manages a couple of recipes. I have a MySQL database that is used by my data persistance layer. I need some kind of id in my business objects representing the recipes to ...
2
votes
3answers
72 views

Calculating a score and a breakdown of the score in different places - should I use the same methods?

I am creating a plugin that uses a metric to determine a score on one page and allows the user to click through to see a more detailed breakdown of the score on a separate page. The trouble is: I can'...
-4
votes
2answers
194 views

Automatically creating .pdf files from CSV [closed]

Ok, so I already have a small console program written (full code can be seen here) for this task. Basically, what it does, is the user grabs a CSV that is full of filenames, then chooses where to save ...
0
votes
2answers
159 views

Should I create a new class?

Let's say I have a Car class. Objects of this class will be stored in a collection, and every object should know about other elements in the collection, because for each car there's a value to be ...
2
votes
1answer
125 views

Lower class count vs explicitness

To help with an application that manipulates and works from an XML structure to produce other information, I've created a class structure that closely follows the XML structure. So, the XML is: <...
0
votes
0answers
75 views

Class design of keyboard interpreter to execute commands

I'm designing a keyboard interpreter that will map typed characters to a (or many) command(s) via a hierarchical menu-style structure, taking into consideration testability (ideally TDD). However I'm ...
0
votes
0answers
71 views

What benefits does React bring over Partial Views

Beside the performance optimizations that React brings to the table with the Virtual DOM : conceptually, in terms of end-software design, what does React brings to the table that partial views did not ...
0
votes
0answers
48 views

Merging waitable objects

Lets say you have two (or more) objects from which both allow a thread to wait for an event to occur. Foo.Wait(timeout); Bar.Wait(timeout); The main thread wants to wake up when either of these ...
0
votes
0answers
59 views

Test Utility in Spring: Singleton or Static

I'm working on Test Utility in a spring project, this utility contains a methods to convert an object to JSON object and vice versa..etc and I'm confused if it's better to make the methods as ...
1
vote
0answers
58 views

Creating duplicate instances of objects for timeline functionality

I am working on a Spring-MVC based project, in which I would like to add Timeline functionality. The most important object in our project is the Note, there are objects associated with it like ...
7
votes
2answers
257 views

Object reading from file, violation of SRP?

I am writing a physics simulation program in C++. I am a novice in OOP and C++. In my program, several objects need to be initialized based on data from an input file. For example, an imaginary ...
0
votes
0answers
55 views

Publish / Subscribe via HTTP Callbacks?

My team is tasked with creating a publish/subscribe system for incoming REST messages. 99% of the time, this system will be used for notifications between different processes on the same cpu, but we ...
3
votes
2answers
347 views

Only use a dependency injection container at the root of an application?

normally, I'll use a dependency injection container (unity) in c# like this example: class SomeClass { private readonly ILogger _logger; public SomeClass() { _logger = ...
1
vote
1answer
71 views

How to determine what type of derived-class object to lazy-load from an associated object

I'm modelling a system that is a combination of two distinct yet similar data repositories**: one containing patent data and one containing trademark data. There is a very large overlap in the ...
1
vote
2answers
121 views

swift typealias vs empty inherited class

I am working on JSON model classes in a swift project. Examples of the sample JSON and classes are below. In the JSON response, there can be many different unique statistics returned, but they all ...
2
votes
2answers
128 views

Abstraction on Iterator Pattern?

Recently, I had the task to implement a research project where I had to read an XML file. XML file contained a list of messages that I had to send to some other system on a specific port. Each message ...
1
vote
3answers
251 views

CMS Design: Is multi-site a good idea?

I'm building a new CMS with Node.js, and I have a question. Would adding WordPress-like multi-site support to the system be a good idea? Or should I let the user handle it via a reverse proxy like ...
1
vote
0answers
43 views

“Flexibility” - Multiple ways for users to do the same thing

Situation: I've recently joined a new project, and I've quickly noticed that the team is very keen on keeping the code "flexible." It seems that for each class or function, they don't want to prevent ...
-1
votes
1answer
49 views

how to implement cross-platform / cross-technology system in common practice

Reading and observing some of the startups and well-known services, almost every time I found that people there are using cross-technology system in their architecture. For example like Twitter, used ...
1
vote
2answers
73 views

How should I apply the Single Responsibility Principle to DLLs?

I mainly hear about people applying the principle to classes and methods, but do people also apply it to solutions/DLLs? For example, if I was writing a library to parse data from UsefulProgram, and ...
5
votes
1answer
266 views

Who communicates with the database in MVC/MVP?

I am building a small application and want to save my business objects to a database. I have my business objects and a model that acts as a container for my business objects and provides methods for ...
29
votes
5answers
2k views

What is an effective way to record rationales behind product design decisions?

At our company, we do not use any product design documents. We have three employees total so all product design discussion happens in person, or on Slack. (We are also on the basic Slack package that ...
0
votes
2answers
117 views

Writing extensible versus deletable code [closed]

I know this might just be semantics, but reading the article titled Write code that is easy to delete, not easy to extend made me think that perhaps it is more or less along the same lines of creating ...
0
votes
1answer
38 views

Boolean flags in Presenters to control flow of execution

I can see people use boolean flags, especially in Controllers / Presenters, to control the flow of execution. For example, public void onButtonClicked() { hasButtonClicked=true // code here }...
0
votes
0answers
58 views

Concepting a Server - Handling Clients/Connections

I am writing the Server-Side of an Application, just for practicing my Java programming skills. I have made an attempt to program it, but I am not satisfied with my solution and I think it is because ...
7
votes
1answer
199 views

How should the code for a program outputting to command line be tested/designed?

Imagine a program similar to this in Python: import subprocess class Example(): _cmd_args = (['ls', '-a', '/usr/bin/'], ['ls', '-al', '/usr/local/bin/']) _default_args = 0 def init(...
-1
votes
1answer
69 views

Considering the testing software issues when designing software [closed]

When designing the software, must we consider how much this code could be testable? for example, if we used X technology/Class/Interface instead of Y, based on that X can be tested more easily than Y, ...
2
votes
1answer
177 views

Creating multiple instances of an implementing class

I currently have an abstract class and multiple classes extending it. My problem is, that there has to be a way to create a variable number of instances of an extending class. The number of instances ...
0
votes
2answers
169 views

Good design pattern to enable/disable certain functionality based on condition

I am working on a paint type application in android. I got toolbar on left contains tools like undoCut, redoCut, box, frame, cutting, coloring, next, previous etc. I wanted to know what is the best ...
3
votes
1answer
97 views

Snap to grid functionality in drawing application

I'm working on drawing application and I want to provide grid with snap to grid functionality. I'm trying to find the right way how to do that (ideally some design pattern), but I'm quite confused ...
0
votes
0answers
37 views

Logging strategy for login transactions

We have a login process which is facilitated by a product default logging mode of which is text file based. Now because that is log4j based logging, one can use the custom appended to call our ...
0
votes
0answers
33 views

Unifying database interface for multiple authentication methods

I'm working on a project with Mongo as the db. Currently, we only allow users to sign up with email and we look them up in the db by email address. But now we're moving to allow users to sign up ...
2
votes
0answers
50 views

Designing a web based smart card publisher

I'm working on an application that's supposed to have a web based GUI where you can insert some data. That data will be saved in persistent storage and a hex number generated and stored alongside. ...
0
votes
3answers
282 views

Simple React application design

I have a very simple app that lets you log in and then displays a dashboard. The design process with React and Redux is very simple : I have two React components : Login and Dashboard I store a ...