SWPatterns.com
Home
Patterns
Languages
Contribute
  • Snapshot - Dart

    The Snapshot pattern captures and restores the state of an object or system, allowing for rollbacks or efficient re-initialization. This is achieved by serializing the object’s state to a persistent storage (like a file) and then deserializing it to recreate that state. In Dart, this is naturally implemented …

    Read More
  • Snapshot - Scala

    The Snapshot pattern captures the state of an object or data structure at a specific point in time without affecting the original. This allows for consistent reads, especially in concurrent environments, or for implementing undo/redo functionality. This Scala example uses immutable data structures (case classes) to …

    Read More
  • Snapshot - PHP

    The Snapshot pattern allows capturing and restoring the internal state of an object. This is useful for implementing features like undo/redo, transaction rollback, or saving game progress. The code defines a Report class representing the object whose state needs to be saved. A ReportSnapshot class stores the state of …

    Read More
  • Snapshot - Ruby

    The Snapshot pattern allows saving and restoring the internal state of an object. This is useful for implementing features like undo/redo, checkpoints, or transaction rollback. The core idea is to encapsulate the object’s state into a separate snapshot object, enabling reverting to that saved state without …

    Read More
  • Snapshot - Swift

    The Snapshot pattern captures and restores the state of an object, allowing for easy undo/redo functionality or saving/loading of progress. It’s implemented here using Swift’s Codable protocol to serialize the object’s state into a snapshot (a dictionary in this case). The takeSnapshot() method …

    Read More
  • Snapshot - Kotlin

    The Snapshot pattern captures the state of an object at a specific point in time without affecting the original object. This allows for operations like undo/redo, transaction rollback, or simply observing a past state. In this Kotlin example, we use data classes and copy() to create immutable snapshots of a SystemState …

    Read More
  • Snapshot - Rust

    The Snapshot pattern captures and stores the internal state of an object at a specific point in time, allowing for rollback to that state. This is useful for implementing undo/redo functionality, checkpoints, or transaction management. The Rust implementation uses the Clone trait to create copies of the object’s …

    Read More
  • Snapshot - Go

    The Snapshot pattern captures and restores the state of an object, allowing for easy rollbacks or saving/loading of progress. It’s particularly useful in scenarios like undo/redo functionality, game save states, or transaction management. In this Go example, we define a Report struct representing the object whose …

    Read More
  • Snapshot - C

    The Snapshot pattern captures and stores the internal state of an object at a specific point in time, allowing for restoration to that state later. This is useful for implementing undo/redo functionality, checkpoints, or transaction rollback. The C implementation uses a struct to hold the object’s state and …

    Read More
  • Snapshot - C++

    The Snapshot pattern allows capturing and restoring the internal state of an object. It’s useful for implementing features like undo/redo, transaction rollback, or saving game states. This implementation uses a separate Snapshot class to hold the state, and a Memento class to provide a controlled interface for …

    Read More
    • ««
    • «
    • 1
    • 2
    • »
    • »»

Recent Posts

  • Retry with Backoff
  • Master-Slave
  • Health Check Endpoint
  • Null Object
  • Load Shedding
  • Service Discovery
  • Resequencer
  • Outbox Pattern

C 56 C++ 56 C_SHARP 56 GO 56 JAVA 56 JAVASCRIPT 56 KOTLIN 56 PYTHON 56 RUST 56 DART 55 PHP 55 RUBY 55 SCALA 55 SWIFT 55 TYPESCRIPT 55

BEHAVIORAL 147 ARCHITECTURAL 37 DDD 33 CONCURRENCY 26 INTEGRATION 21 CREATIONAL 18 DISTRIBUTED SYSTEMS 15 GOF 15 STRUCTURAL 13 RELIABILITY 10 SCALABILITY 10 PERFORMANCE 9 RESILIENCE 9 MICROSERVICES 7 OBSERVABILITY 6 MESSAGING 5 OPERATIONAL 5 DATA ACCESS 4 DEPLOYMENT 4 WEB 4 BEST PRACTICE 3 CLOUD 3 DATA 3 INFRASTRUCTURE 3 PRESENTATION 3 SECURITY 3 ARCHITECTURE 2 ASYNCHRONOUS 2 COMMUNICATION 2 DATA PROCESSING 2 DESIGN PATTERNS 2 DISTRIBUTED 2 DISTRIBUTED SYSTEM 2 EVENT-DRIVEN 2 FUNCTIONAL 2 IDIOMATIC 2 OBJECT-ORIENTED 2 ORM 2 SYSTEM 2 UI 2 AI 1 ANTI_PATTERN 1 AUTOMATION 1 CACHING 1 COLLABORATION 1 CONCURRENT 1 CQRS 1 CROSS-CUTTING 1 DATA MODELING 1 DATABASE 1 DESIGN PRINCIPLES 1 DEVELOPMENT 1 DEVOPS 1 DOMAIN 1 ENTERPRISE INTEGRATION 1 EXTENSIBILITY 1 FOUNDATIONAL 1 FRONTEND 1 KUBERNETES 1 LEGACY 1 LOOSELY COUPLED 1 MEMORY MANAGEMENT 1 MESSAGE 1 MESSAGE-QUEUE 1 METAPROGRAMMING 1 MIDDLEWARE 1 MONITORING 1 NETWORKING 1 OBJECT-CREATION 1 OBJECT-RELATIONAL 1 OBJECT-STRUCTURAL 1 OOA 1 OPERATIONS 1 PARALLELISM 1 PERSISTENCE 1 PROCESSING 1 REACTIVE 1 REFACTORING 1 RELEASE 1 ROBUSTNESS 1 SOFTWARE ARCHITECTURE 1 STATE 1 STATE MANAGEMENT 1 STRATEGIC 1 STRATEGIC DESIGN 1 TRADITIONAL 1 TRANSVERSAL 1 WEB APPLICATION 1

ABSTRACT FACTORY 15 ADAPTER 15 BLACKBOARD 15 BRIDGE 15 BUILDER 15 CHAIN OF RESPONSIBILITY 15 CLEAN ARCHITECTURE 15 CLIENT-SERVER 15 CLUSTER-BASED ARCHITECTURE 15 COMMAND 15 COMPOSITE 15 DECORATOR 15 DEPENDENCY INJECTION 15 EVENT-DRIVEN ARCHITECTURE 15 EXTENSION OBJECT 15 FACADE 15 FACTORY METHOD 15 HEXAGONAL ARCHITECTURE 15 INTERPRETER 15 ITERATOR 15 LAYERED ARCHITECTURE 15 LAZY INITIALIZATION 15 MASTER-SLAVE 15 MEDIATOR 15 MEMENTO 15 MESSAGE BROKER 15 MICROKERNEL 15 MICROSERVICES 15 MODULE 15 MONOLITH 15 MULTITON 15 N-TIER 15 NULL OBJECT 15 OBJECT POOL 15 OBSERVER 15 ONION ARCHITECTURE 15 PEER-TO-PEER 15 PIPES AND FILTERS 15 POLICY 15 PROTOTYPE 15 PROXY 15 PUBLISH-SUBSCRIBE 15 SELF-CONTAINED SYSTEMS 15 SERVICE LOCATOR 15 SHARED-NOTHING 15 SINGLETON 15 SNAPSHOT 15 SOA 15 SPACE-BASED ARCHITECTURE 15 SPECIFICATION 15 STATE 15 STRATEGY 15 TEMPLATE METHOD 15 VISITOR 15 FLYWEIGHT 14 SUPERVISOR-WORKER 10
SWPatterns.com

Licenza Creative Commons - Made with ❤️ in Bologna - for info contact me on GitHub or Twitter