Questions tagged [state]

The State pattern is used to represent the internal state of an object and to encapsulate varying behavior for the same object based on its state. This can be a cleaner way for an object to change its behavior at runtime without resorting to large monolithic conditional statements and thus improve maintainability.

Filter by
Sorted by
Tagged with
-1 votes
0 answers
54 views

State machine with change of state triggered by internal data only [closed]

Consider the following state machine, that handles an event by using std::visit on the current state (defined as an std::variant ...
  • 1,349
2 votes
1 answer
53 views

Factory for state classes with varying numbers of reference data members

Consider the following code: ...
  • 1,349
0 votes
0 answers
53 views

"Select dropdown" with state abstracted in reducer

I have created a Select Dropdown component with its state abstracted in the reducer. I am just updating this collective state using reducer actions and handling the side effects via ...
1 vote
1 answer
69 views

first React project - Lights Out game

I am working my way through a React tutorial on Scrimba (I am not finished yet). I got to a certain part that inspired me to try a project on my own. I made a game of Lights Out. If you've never heard ...
  • 161
3 votes
1 answer
70 views

Unit test for a React click-counting component

Take this basic component using state: ...
0 votes
1 answer
65 views

Doubling of state to speed up UI performance in React with Redux

I have a settings section to my UI which keeps track of a myriad of user settings. The settings are requested from an API when the app loads, and then used in the section to populate what the user's ...
1 vote
1 answer
245 views

Another Vending Machine implementing State Pattern

I previously asked for a review for a Vending Machine implementing State Pattern in this linked post. And received an answer from @radarbob. The code below is my revised attempt based on some of @...
5 votes
1 answer
376 views

Vending Machine implementing State Pattern

I was asked to implement a Vending Machine in a recent interview coding challenge. My attempt at a solution is based on the state pattern. I would like to get some code reviews on this bearing in mind ...
0 votes
0 answers
35 views

AI for OpenTTD - Decision Engine: Is this an appropriate use for the state pattern and raw pointers to states?

I'm writing an AI in C++ for OpenTTD. If you'd like to run it yourself, it's on Github here: https://github.com/marlonsmith10/empire_ai. This class is the decision engine. It will be responsible for ...
6 votes
1 answer
669 views

Date range generator

An app has a feature that's much like any calendar application (like the Outlook calendar for example). Consequently, I need to do a lot of date logic. I wrote a class with date calculation methods ...
8 votes
1 answer
528 views

Haskell Tic-Tac-Toe (with automation and GUI)

There are already many Tic Tac Toe posts. But as far as I can tell, none of the ones in Haskell are complete with a GUI Here is my implementation with Gloss. Gist Link for convenience ...
0 votes
0 answers
36 views

Encapsulation React state

I defined the following context provider: ...
  • 193
1 vote
1 answer
93 views

State monad and pattern matching on data constructors

I am writing a Settlers of Catan server in Haskell for fun. Currently I am passing around state manually. I want to learn more about the State monad and want to incorporate it into my project. However,...
7 votes
1 answer
260 views

A beginner's brainfuck interpreter in Haskell

I am rather new to haskell, and could use some feedback on my code and the decisions I had to make. In my previous project, I made a JSON parser, but relied heavily on guidance from a university ...
6 votes
0 answers
55 views

React state management design pattern new approach thoughts

Hey people on the internet! I do not know where to share my new npm package so I am asking you do you know of a good place to share my package? Also I would really appreciate if you take a look on it ...
  • 161
2 votes
0 answers
216 views

Storing localStorage data as part of rxjs reducer?

I use ngrx in my Angular app to state management. At a certain time I was asked to save some variable to local storage and retrieve it with first load. That made ...
  • 121
2 votes
0 answers
38 views

Switching article states using state pattern

The Article model supports a bunch of transitions. Only two are shown below: star()/unstar()....
  • 121
2 votes
0 answers
22 views

Custom Global Store using React.js context and hooks

I wanted to use an external global state to a React.js application with a redux-like sort of pattern (with reducers, actions, etc). However, I don't want to use redux itself, as it's just a small ...
2 votes
2 answers
213 views

Scalable design of a system with multiple state machines, where valid state transitions depend on the state of other machines

This is a pretty huge question, however, I would appreciate it if you could just review the design and not my implementations of it. The Implementation and test sections could be ignored, they are ...
  • 373
6 votes
4 answers
2k views

Section 2: Classes - Design a StackOverflow Post

Design a class called Post. This class models a StackOverflow post. It should have properties for title, description and the date/time it was created. We should be able to up-vote or down-vote a ...
  • 620
3 votes
1 answer
108 views

Haskell - Caching third party API token across requests

The following code is designed to cache a (UTCTime, Text) value that keeps the Text token around until it expires, preventing ...
3 votes
2 answers
241 views

Persisting Variables Over A State Loss

In an application that I built recently, I needed to persist several variables, without loosing their state, for duration that the application was in use. After some research, I found this post on ...
2 votes
1 answer
125 views

Simpler state manament alternative to Redux, MobX, Context API, etc

I got frustrated with the jargon and created an alternative state management solution. Its up at https://github.com/smakazmi/react-soliit. It goes something like this ...
  • 271
1 vote
1 answer
593 views

Toggle between two options in an object?

I have just written this code for toggling between two possible states of an object. ...
2 votes
2 answers
67 views

N rotations of an array, either left or right, and then printing the result

Disclaimer, I'm new to OOP, but have experience in haskell and javascript. Essentially, the challenge was to create a program which would shift an array a given amount of times to the left and then ...
3 votes
3 answers
126 views

Cooking steak with State Pattern and without IFs

I've been playing around a bit with a case of State Pattern but including as well ranges in order to get into a specific state. So the definition is as simple as this: There is a Steak that has a ...
1 vote
1 answer
38 views

View for logging telephone calls

As part of a web-based claims system I have created, there is a view for logging telephone calls. If a call is incoming, the claims handler asks the caller a series of data protection questions to ...
2 votes
1 answer
51 views

Checking user verification status

The User story is as follows: Users are allowed to get "verified", so other users know they have passed a background check. After tapping "get verified" button, or the "verification badge" ...
2 votes
2 answers
458 views

getDerivedStateFromProps [closed]

Starting from React 16.3 there are some new lifecycle methods introduced. One of them is the static getDerivedStateFromProps(props,state) method. This method ...
  • 133
4 votes
4 answers
2k views

State Pattern for traffic lights

I tried to implement a traffic light system using state pattern, please comment on the OOP/design pattern use. ...
  • 5,301
16 votes
0 answers
3k views

Realtime concurrent Haskell MIDI buffer

Problem Background MIDI is a serial representation of control signals to a sound generator. Typically, a noteOn message initiates the attack phase of a sound at a given pitch. The note will ...
1 vote
1 answer
211 views

Currency exchange app

I'm making a currency exchange app, it works as follows: User types in on desired currency input and the rest of the input fields change with state based on the currency value from the input used, I'...
6 votes
1 answer
691 views

State Monad in TypeScript

Here's my implementation of State Monad in TypeScript, based on a canonical Haskell implementation. I would like it to get code reviewed. ...
  • 193
1 vote
1 answer
58 views

Using an alternative for a switch/state-based custom parser

I'm currently developing a small tool that applies a number of regex-based match/replacement-pairs to the contents of a file (or, more generally speaking, a string). Note that regex-knowledge is not ...
0 votes
1 answer
4k views

Toggle between two states in react

I have two fetch calls which updates the state. And I have two buttons. One makes a fetch call, another calls componentDidMount()...
1 vote
0 answers
79 views

3 state switch for a table sort

I have a data table with 7 columns. The first column is the index that increases from 1 to N and is considered to be in ascending order by default. The remaining columns are unsorted. I need to be ...
  • 181
8 votes
1 answer
805 views

Elegant output separators

Today I found myself reinventing output separators for the zillionth time. I have converged on an approach like the following that seem pretty clean: Live On Coliru ...
  • 1,302
27 votes
3 answers
2k views

A Failable<T> that allows safe returning of exceptions

This was inspired by a conversation in chat, that started with the discussion of C#7.0 tuples and out parameter declarations, which led to the idea that there is no 'good1' way to return an error ...
5 votes
1 answer
85 views

Logon state management

I'm in the process of writing a simple text based MUD. First up is making sure that it's possible to create new players / logon with existing players. Since everything is text based, there are ...
  • 11.6k
3 votes
1 answer
107 views

ApplicationSettings Class for disabling/restoring Application State

This previous iteration of this question can be found here A utility class to handle the state of the Application object. Storing the application's initial state (...
  • 8,800
-2 votes
1 answer
66 views

Capture some state in Haskell

I want to capture some state in a Haskell function. For instance, I have many thread trying to print on the console and I want the to play nice with each other. So I want to have some XX to make the ...
  • 171
7 votes
2 answers
536 views

Evaluating Parser State

The "parser state" of a module in rubberduck can be one of several values: ...
1 vote
0 answers
665 views

Managing the state of multiple, similar, selects in React Form

I have a really simple form with 3 select boxes for days, hours, and minutes (in the full code I have a submit button attached to an ajax request). And I've got each of those select boxes attached to ...
4 votes
1 answer
2k views

(C++14) Handling state in C-style function pointer callbacks

I'm having some issues coming up with a sensible solution for using shared state in a C-style function pointer. I am using GLFW to handle my OpenGL context and have created a thin wrapper around all ...
5 votes
1 answer
1k views

Model of an mp3 player with state and prototype design patterns

After reading about design patterns in general, I decided to try and incorporate them in an actual program. I chose a State machine for my first exercise, or, more concretely, an MP3 player. The ...
3 votes
1 answer
262 views

Is my design still a state design pattern, or some abomination?

I was trying to review state design pattern, and tried to create flexible implementation of it so it could reuse it in future. So I came out with this: ...
8 votes
1 answer
595 views

HangPerson in Haskell

I created a HangPerson game in Haskell and I must admit it feels very imperative. How can I make it more "functional?" Are there more elegant ways of breaking up the task? The ...
7 votes
2 answers
16k views

Console application menu

Sometimes I need to write a simple Java console applications and menu look: ...
5 votes
1 answer
344 views

Untouchable Numbers

I wrote this program in response to a CodeGolf challenge that required generating this sequence of "untouchable" numbers. This sequence can be found on OEIS as A005114. My initial implementation was ...
3 votes
1 answer
550 views

Using C++11 move semantics to implement state pattern

I'm implementing a C++ layer on top of the sockets api of the OS (i.e. man 7 socket)1. Tcp sockets go through various states. Using the RAII principle leads to distinguishing the states: ...