Table of Contents

Namespace PatternKit.Examples.ProxyDemo

Classes

ProxyDemo

Demonstrates various proxy patterns including virtual, protection, caching, logging, and a complete mocking framework.

ProxyDemo.Document

Represents a document with title, content, and access level restrictions.

ProxyDemo.DocumentService

Service for performing operations on documents.

ProxyDemo.EmailServiceAdapter

Adapter that wraps a proxy to implement the ProxyDemo.IEmailService interface.

ProxyDemo.ExpensiveDatabase

Simulates an expensive resource that should be lazily initialized.

ProxyDemo.MockFramework

A simple fluent mocking framework built with the Proxy pattern.

ProxyDemo.MockFramework.Mock<TIn, TOut>

Creates a mock object for testing.

ProxyDemo.RemoteDataService

Simulates a remote data service with network latency.

ProxyDemo.User

Represents a user with a name and role for access control demonstrations.

Interfaces

ProxyDemo.IEmailService

Interface for email sending operations.