{'fraction_non_alphanumeric': 0.020858895705521473, 'fraction_numerical': 0.0, 'mean_word_length': 5.229007633587786, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Persistent state pattern

Finite State Machines (FSM) provide a powerful way to describe dynamic behavior of systems and components. Implementations of FSM in Object-Oriented (OO) languages have been widely studied since the classical State Pattern has been introduced. Various design patterns were derived from the State Pattern, but all of the focus on object's behavior. This paper describes the Persistent State Pattern, an extension to the State Pattern for persistent data. The Persistent State Pattern integrates transaction management with classical and enterprise design patterns. It can be used with OO databases and relational databases, and it can also be incorporated by an object-relation mapping framework. We show how the Persistent State Pattern may be useful for model or event driven development.