Classic Dining Philosophers
Point of Interest:
- IOutputter for multiple output form, implemented both ConsoleOutputter and Controller\EnumerableStringOutputter
- AbstractOutput implemented lock for one thread one writeline at a time. Console.WriteLine is threadsafe, but other writer might not be.
- PhilisopherFactory : FactoryBase Singleton generic factory pattern