Skip to content

.NET Resources

License

Notifications You must be signed in to change notification settings

dimitrietataru/resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 

Repository files navigation

.NET RESOURCES

TABLE OF CONTENTS

VERSIONS AND HISTORY

LANGUAGE

Expand

FRAMEWORK

Expand

|9.0.0|Release notes|Blog roundup|

8.0.11 Release notes Blog roundup
8.0.10 Release notes Blog roundup
8.0.8 Release notes Blog roundup
8.0.7 Release notes Blog roundup
8.0.6 Release notes Blog roundup
8.0.5 Release notes Blog roundup
8.0.4 Release notes Blog roundup
8.0.3 Release notes Blog roundup
8.0.2 Release notes Blog roundup
8.0.1 Release notes Blog roundup
8.0.0 Release notes Blog roundup
7.0.20 Release notes Blog roundup
7.0.19 Release notes Blog roundup
7.0.18 Release notes Blog roundup
7.0.17 Release notes Blog roundup
7.0.16 Release notes Blog roundup
7.0.15 Release notes Blog roundup
7.0.14 Release notes Blog roundup
7.0.13 Release notes Blog roundup
7.0.12 Release notes
7.0.11 Release notes Blog roundup
7.0.10 Release notes Blog roundup
7.0.9 Release notes Blog roundup
7.0.8 Release notes Blog roundup
7.0.7 Release notes Blog roundup
7.0.5 Release notes Blog roundup
7.0.4 Release notes Blog roundup
7.0.3 Release notes Blog roundup
7.0.2 Release notes Blog roundup
7.0.1 Release notes Blog roundup
7.0.0 Release notes Blog roundup
6.0.36 Release notes Blog roundup
6.0.35 Release notes Blog roundup
6.0.33 Release notes Blog roundup
6.0.32 Release notes Blog roundup
6.0.31 Release notes Blog roundup
6.0.30 Release notes Blog roundup
6.0.29 Release notes Blog roundup
6.0.28 Release notes Blog roundup
6.0.27 Release notes Blog roundup
6.0.26 Release notes Blog roundup
6.0.25 Release notes Blog roundup
6.0.24 Release notes Blog roundup
6.0.23 Release notes
6.0.22 Release notes Blog roundup
6.0.21 Release notes Blog roundup
6.0.20 Release notes Blog roundup
6.0.19 Release notes Blog roundup
6.0.18 Release notes Blog roundup
6.0.16 Release notes Blog roundup
6.0.15 Release notes Blog roundup
6.0.14 Release notes Blog roundup
6.0.13 Release notes Blog roundup
6.0.12 Release notes Blog roundup
6.0.11 Release notes Blog roundup
6.0.10 Release notes Blog roundup
6.0.9 Release notes Blog roundup
6.0.8 Release notes Blog roundup
6.0.7 Release notes Blog roundup
6.0.6 Release notes Blog roundup
6.0.5 Release notes Blog roundup
6.0.4 Release notes Blog roundup
6.0.3 Release notes Blog roundup
6.0.2 Release notes Blog roundup
6.0.1 Release notes Blog roundup
6.0.0 Release notes Blog roundup
5.0.17 Release notes Blog roundup
5.0.16 Release notes Blog roundup
5.0.15 Release notes Blog roundup
5.0.14 Release notes Blog roundup
5.0.13 Release notes Blog roundup
5.0.12 Release notes Blog roundup
5.0.11 Release notes Blog roundup
5.0.10 Release notes Blog roundup
5.0.9 Release notes Blog roundup
5.0.8 Release notes Blog roundup
5.0.7 Release notes Blog roundup
5.0.6 Release notes Blog roundup
5.0.5 Release notes Blog roundup
5.0.4 Release notes Blog roundup
5.0.3 Release notes Blog roundup
5.0.2 Release notes Blog roundup
5.0.1 Release notes Blog roundup
5.0.0 Release notes Blog roundup
3.1.32 Release notes Blog roundup
3.1.31 Release notes Blog roundup
3.1.30 Release notes Blog roundup
3.1.29 Release notes Blog roundup
3.1.28 Release notes Blog roundup
3.1.27 Release notes Blog roundup
3.1.26 Release notes Blog roundup
3.1.25 Release notes Blog roundup
3.1.24 Release notes Blog roundup
3.1.23 Release notes Blog roundup
3.1.22 Release notes Blog roundup
3.1.21 Release notes Blog roundup
3.1.20 Release notes Blog roundup
3.1.19 Release notes Blog roundup
3.1.18 Release notes Blog roundup
3.1.17 Release notes Blog roundup
3.1.16 Release notes Blog roundup
3.1.15 Release notes Blog roundup
3.1.14 Release notes Blog roundup
3.1.13 Release notes Blog roundup
3.1.12 Release notes Blog roundup
3.1.11 Release notes Blog roundup
3.1.10 Release notes Blog roundup
3.1.9 Release notes Blog roundup
3.1.8 Release notes Blog roundup
3.1.7 Release notes Blog roundup
3.1.6 Release notes Blog roundup
3.1.5 Release notes Blog roundup
3.1.4 Release notes Blog roundup
3.1.3 Release notes Blog roundup
3.1.2 Release notes Blog roundup
3.1.1 Release notes Blog roundup
3.1.0 Release notes Blog roundup
3.0.3 Release notes Blog roundup
3.0.2 Release notes Blog roundup
3.0.1 Release notes Blog roundup
3.0.0 Release notes Blog roundup
2.2.8 Release notes Blog roundup
2.2.7 Release notes Blog roundup
2.2.6 Release notes Blog roundup
2.2.5 Release notes Blog roundup
2.2.4 Release notes Blog roundup
2.2.3 Release notes Blog roundup
2.2.2 Release notes Blog roundup
2.2.1 Release notes Blog roundup
2.2.0 Release notes Blog roundup
2.1.30 Release notes Blog roundup
2.1.28 Release notes Blog roundup
2.1.27 Release notes Blog roundup
2.1.26 Release notes Blog roundup
2.1.25 Release notes Blog roundup
2.1.24 Release notes Blog roundup
2.1.23 Release notes Blog roundup
2.1.22 Release notes Blog roundup
2.1.21 Release notes Blog roundup
2.1.20 Release notes Blog roundup
2.1.19 Release notes Blog roundup
2.1.18 Release notes Blog roundup
2.1.17 Release notes Blog roundup
2.1.16 Release notes Blog roundup
2.1.15 Release notes Blog roundup
2.1.14 Release notes Blog roundup
2.1.13 Release notes Blog roundup
2.1.12 Release notes Blog roundup
2.1.11 Release notes Blog roundup
2.1.10 Release notes Blog roundup
2.1.9 Release notes Blog roundup
2.1.8 Release notes Blog roundup
2.1.7 Release notes Blog roundup
2.1.6 Release notes
2.1.5 Release notes Blog roundup
2.1.4 Release notes Blog roundup
2.1.3 Release notes
2.1.2 Release notes
2.1.1 Release notes
2.1.0 Release notes Blog roundup
2.0.9 Release notes
2.0.7 Release notes
2.0.6 Release notes
2.0.5 Release notes Blog roundup
2.0.4 Release notes
2.0.3 Release notes Blog roundup
2.0.0 Release notes Blog roundup
1.1.13 Release notes Blog roundup
1.1.12 Release notes Blog roundup
1.1.11 Release notes Blog roundup
1.1.10 Release notes
1.1.9 Release notes
1.1.8 Release notes
1.1.7 Release notes
1.1.6 Release notes Blog roundup
1.1.5 Release notes Blog roundup
1.1.4 Release notes
1.1.2 Release notes
1.1.1 Release notes
1.1.0 Release notes Blog roundup
1.0.16 Release notes Blog roundup
1.0.15 Release notes Blog roundup
1.0.14 Release notes Blog roundup
1.0.13 Release notes
1.0.12 Release notes
1.0.11 Release notes
1.0.10 Release notes
1.0.9 Release notes Blog roundup
1.0.8 Release notes Blog roundup
1.0.7 Release notes
1.0.5 Release notes
1.0.4 Release notes
1.0.3 Release notes
1.0.0 Release notes Blog roundup

CLOUD DESIGN PATTERNS

Expand
  • Availability
    • Deployment stamps
      • Deploy multiple independent copies of application components, including data stores
    • Geodes
      • Deploy backend services into a set of geographical nodes, each of which can service any client request in any region
    • Health endpoint monitoring
      • Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals
    • Queue-based load leveling
      • Use a queue that acts as a buffer between a task and a service that it invokes, to smooth intermittent heavy loads
    • Throttling
      • Control the consumption of resources by an instance of an application, an individual tenant, or an entire service
  • Data management
    • Cache-aside
      • Load data on demand into a cache from a data store
    • Command and Query responsibility segregation (CQRS)
      • Segregate operations that read data from operations that update data by using separate interfaces
    • Event sourcing
      • Use an append-only store to record the full series of events that describe actions taken on data in a domain
    • Index table
      • Create indexes over the fields in data stores that are frequently referenced by queries
    • Materialized view
      • Generate prepopulated views over the data in one or more data stores when the data isn't ideally formatted for required query operations
    • Sharding
      • Divide a data store into a set of horizontal partitions or shards
    • Static content hosting
      • Deploy static content to a cloud-based storage service that can deliver them directly to the client
    • Valet key
      • Use a token or key that provides clients with restricted direct access to a specific resource or service
  • Design and Implementation
    • Ambassador
      • Create helper services that send network requests on behalf of a consumer service or application
    • Anti-corruption layer
      • Implement a façade or adapter layer between a modern application and a legacy system
    • Backends for Frontends
      • Create separate backend services to be consumed by specific frontend applications or interfaces
    • Command and Query responsibility segregation (CQRS)
      • Segregate operations that read data from operations that update data by using separate interfaces
    • Compute resource consolidation
      • Consolidate multiple tasks or operations into a single computational unit
    • External configuration store
      • Move configuration information out of the application deployment package to a centralized location
    • Gateway aggregation
      • Use a gateway to aggregate multiple individual requests into a single request
    • Gateway offloading
      • Offload shared or specialized service functionality to a gateway proxy
    • Gateway routing
      • Route requests to multiple services using a single endpoint
    • Leader election
      • Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances
    • Pipes and filters
      • Break down a task that performs complex processing into a series of separate elements that can be reused
    • Sidecar
      • Deploy components of an application into a separate process or container to provide isolation and encapsulation
    • Static content hosting
      • Deploy static content to a cloud-based storage service that can deliver them directly to the client
    • Strangler fig
      • Incrementally migrate a legacy system by gradually replacing specific pieces of functionality with new applications and services
  • Management and Monitoring
    • Ambassador
      • Create helper services that send network requests on behalf of a consumer service or application
    • Anti-corruption layer
      • Implement a façade or adapter layer between a modern application and a legacy system
    • External configuration store
      • Move configuration information out of the application deployment package to a centralized location
    • Gateway aggregation
      • Use a gateway to aggregate multiple individual requests into a single request
    • Gateway offloading
      • Offload shared or specialized service functionality to a gateway proxy
    • Gateway routing
      • Route requests to multiple services using a single endpoint
    • Health endpoint monitoring
      • Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals
    • Sidecar
      • Deploy components of an application into a separate process or container to provide isolation and encapsulation
    • Strangler fig
      • Incrementally migrate a legacy system by gradually replacing specific pieces of functionality with new applications and services
  • Messaging
    • Asynchronous request-reply
      • Decouple backend processing from a frontend host, where backend processing needs to be asynchronous, but the frontend still needs a clear response
    • Claim-check
      • Split a large message into a claim check and a payload to avoid overwhelming a message bus
    • Choreography
      • Have each component of the system participate in the decision-making process about the workflow of a business transaction, instead of relying on a central point of control
    • Competing consumers
      • Enable multiple concurrent consumers to process messages received on the same messaging channel
    • Pipes and filters
      • Break down a task that performs complex processing into a series of separate elements that can be reused
    • Priority queue
      • Prioritize requests sent to services so that requests with a higher priority are received and processed more quickly than those with a lower priority
    • Publish-subscriber
      • Enable an application to announce events to multiple interested consumers asynchronously, without coupling the senders to the receivers
    • Queue-based load leveling
      • Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads
    • Scheduler agent supervisor
      • Coordinate a set of actions across a distributed set of services and other remote resources
    • Sequential convoy
      • Process a set of related messages in a defined order, without blocking processing of other groups of messages
  • Performance and Scalability
    • Cache-aside
      • Load data on demand into a cache from a data store
    • Choreography
      • Have each component of the system participate in the decision-making process about the workflow of a business transaction, instead of relying on a central point of control
    • Command and Query responsibility segregation (CQRS)
      • Segregate operations that read data from operations that update data by using separate interfaces
    • Event sourcing
      • Use an append-only store to record the full series of events that describe actions taken on data in a domain
    • Deployment stamps
      • Deploy multiple independent copies of application components, including data stores
    • Geodes
      • Deploy backend services into a set of geographical nodes, each of which can service any client request in any region
    • Index table
      • Create indexes over the fields in data stores that are frequently referenced by queries
    • Materialized view
      • Generate prepopulated views over the data in one or more data stores when the data isn't ideally formatted for required query operations
    • Priority queue
      • Prioritize requests sent to services so that requests with a higher priority are received and processed more quickly than those with a lower priority
    • Queue-based load leveling
      • Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads
    • Sharding
      • Divide a data store into a set of horizontal partitions or shards
    • Static content hosting
      • Deploy static content to a cloud-based storage service that can deliver them directly to the client
    • Throttling
      • Control the consumption of resources by an instance of an application, an individual tenant, or an entire service
  • Resiliency
    • Bulkhead
      • Isolate elements of an application into pools so that if one fails, the others will continue to function
    • Circuit breaker
      • Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource
    • Compensating transatcion
      • Undo the work performed by a series of steps, which together define an eventually consistent operation
    • Health endpoint monitoring
      • Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals
    • Leader election
      • Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances
    • Queue-based load leveling
      • Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads
    • Retry
      • Enable an application to handle anticipated, temporary failures when it tries to connect to a service or network resource by transparently retrying an operation that's previously failed
    • Scheduler agent supervisor
      • Coordinate a set of actions across a distributed set of services and other remote resources
  • Security
    • Federated identity
      • Delegate authentication to an external identity provider.
    • Gatekeeper
      • Protect applications and services by using a dedicated host instance that acts as a broker between clients and the application or service, validates and sanitizes requests, and passes requests and data between them
    • Valet key
      • Use a token or key that provides clients with restricted direct access to a specific resource or service

OBJECT ORIENTED PROGRAMMING

Expand

VIDEOS

Expand

YouTube channels

Kevlin Henney

Jon Skeet

Mads Torgersen

Jimmy Bogard

NDC Conferences

Architecture

Coding

System Design

Tools

Others

BOOKS

Expand

GitHub

Expand

OTHER RESOURCES

Expand