Bu yazının amacı bir kod parçası yazmak değil. Bunun yerine, burada hepimiz için bir hatırlatma notu olarak kalacaktır. Öncelikle, Martin Fowler'ın Strangler Pattern'i nasıl açıkladığını ve sonunda ne söylediğini hatırlayalım.


"Burada başka önemli bir fikir var - yeni bir uygulama tasarlarken, gelecekte boğulmasını kolaylaştıracak şekilde tasarlamalısınız. Kabul edelim ki, bugün yaptığımız tek şey, yarının eski yazılımını yazmaktır. Gelecekte uygulamanın boğulabilmesini kolaylaştırarak, bugünün çalışmalarından rahat bir biçimde sıyrılmaya olanarak sağlarsınız."


Kullanacağım en basit örnek bir Symfony uygulamasından. Tüm API adreslerini tek bir Controller (örnek: UserController) içine ve ilgili koduda tek bir Service (örnek: UserService) içine koyarsanız, ileri Strangler Pattern'i uygulamanız çok zor olacaktır. En azından ilgili kodları farklı servislerde tutmuş olsaydınız, ileri Strangler Pattern'i uygulamanız çok daha kolay olacaktı. Eğer bunu yapmazsanız, eninde sonunda elinizde kullanıcı yaratan, yenileyen, silen ve geri veren bir classınız olur ki, ona da God Object denir. Bu kesinlikle istemediğiniz bir şey.