Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Szymon Pobiega SzymonPobiega

🏠
Working from home
View GitHub Profile
@SzymonPobiega
SzymonPobiega / gist:5220595
Last active Sep 5, 2021
DDD/CQRS/ES/Architecture videos
View gist:5220595

If you have two days to learn the very basics of modelling, Domain-Driven Design, CQRS and Event Sourcing, here's what you should do:

In the evenings read the [Domain-Driven Design Quickly Minibook]{http://www.infoq.com/minibooks/domain-driven-design-quickly}. During the day watch following great videos (in this order):

  1. Eric Evans' [What I've learned about DDD since the book]{http://www.infoq.com/presentations/ddd-eric-evans}
  2. Eric Evans' [Strategic Design - Responsibility Traps]{http://www.infoq.com/presentations/design-strategic-eric-evans}
  3. Udi Dahan's [Avoid a Failed SOA: Business & Autonomous Components to the Rescue]{http://www.infoq.com/presentations/SOA-Business-Autonomous-Components}
  4. Udi Dahan's [Command-Query Responsibility Segregation]{http://www.infoq.com/presentations/Command-Query-Responsibility-Segregation}
  5. Greg Young's [Unshackle Your Domain]{http://www.infoq.com/presentations/greg-young-unshackle-qcon08}
  6. Eric Evans' [Acknowledging CAP at the Root -- in the Domain Model]{ht
@SzymonPobiega
SzymonPobiega / AsyncTransactionFlow.cs
Last active May 10, 2016
Async transaction flow problem
View AsyncTransactionFlow.cs
using System.Threading.Tasks;
using System.Transactions;
using NUnit.Framework;
[TestFixture]
public class TransactionFlowTest
{
[Test]
public void It_should_propagate_transaction_current_down_the_stack_sync()
{
View When_publishing_an_interface.cs
namespace NServiceBus.AcceptanceTests.Routing
{
using System;
using System.Threading.Tasks;
using AcceptanceTesting;
using AcceptanceTesting.Customization;
using EndpointTemplates;
using Features;
using NServiceBus.Config;
using NServiceBus.Pipeline;
View UnityRepro.cs
public class EndpointConfig : IConfigureThisEndpoint
{
public void Customize(BusConfiguration busConfiguration)
{
var container = new UnityContainer();
busConfiguration.UseTransport<MsmqTransport>();
busConfiguration.UseSerialization<JsonSerializer>();
busConfiguration.EnableInstallers();
busConfiguration.UsePersistence<InMemoryPersistence>();
View Program.cs
using System;
using NServiceBus;
using NServiceBus.Features;
using NServiceBus.Settings;
namespace ServiceControlFailureCollapsing
{
class Program
{
static void Main(string[] args)
View SagaConcurrency.cs
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NServiceBus;
using NServiceBus.Persistence.Sql;
namespace SqlPersistenceSagaConcurrencyTest
View SagaIndirectReply.cs
using System;
using System.Threading.Tasks;
using NServiceBus;
namespace SagaIndirectReplySample
{
class Program
{
static void Main(string[] args)
{
View Mass send with outbox
using System;
using System.Threading.Tasks;
using NServiceBus;
using NServiceBus.Persistence;
class Program
{
static void Main(string[] args)
{
Start().GetAwaiter().GetResult();
View msmq-dlq.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Messaging;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace MsmqDeadLetterQueuePoC
{
View ErrorRetryFilter.cs
using System;
using System.Collections.Concurrent;
using System.Threading.Tasks;
using NServiceBus;
using NServiceBus.Raw;
using NServiceBus.Routing;
using NServiceBus.Transport;
enum MessageState
{