قانون کسبوکار نباید ته کنترلر گم شود
همهچیز از یک کنترلر ساده آغاز شد. قرار بود کاربر درخواست برداشت وجه ثبت کند، سامانه چند دادهی اولیه را بخواند، درخواست را ذخیره کند و پاسخ بدهد. نسخهی نخست، چند خط بیشتر نبود: ورودی را میگرفت، یک رکورد میساخت و شناسهی آن را برمیگرداند. هیچکس هم نگران نبود، چون کد کوتاه بود و قابلیت درست کار میکرد.
چند هفته بعد، یک شرط تازه اضافه شد: اگر کاربر بدهی معوق دارد، برداشت نباید ثبت شود. بعد گفتند حداقل ماندهی حساب باید رعایت شود. کمی بعد، پیامک اطلاعرسانی اضافه شد. سپس لاگ حسابداری، بررسی وضعیت احراز هویت، محدودیت روزانه، قالببندی پاسخ رابط برنامهنویسی کاربردی (API)، و چند خط اعتبارسنجی دیگر هم به همان کنترلر چسبید. کنترلری که قرار بود فقط درگاه ورود درخواست باشد، کمکم به جایی تبدیل شد که قانون مالی، ذخیرهسازی، پیامرسانی، لاگ و پاسخ اچتیتیپی (HTTP) همه در آن گیر کرده بودند.

