Testing different design patterns