مدیریت تشکیلات مافیایی به کمک رعایت اصول Object Oriented


مدتیه گوش دادن به پادکست Master mind حین دوچرخه سواری و پیاده روی شروع کردم تنها دلیلی که باعث شد سمت این پادکست برم همون برنامه نویس بودن قهرمان اصلی این داستان یعنی پاول لرو بود :)))

و اینکه چطور یه برنامه نویس گوشه گیر و درون گرا که عمری تنها پارتنرش کامپیوترش بود و بود یهویی انقدر اجتماعی و شبکه گرا میشه که این چنین تشکیلات عظیمی از کارهای خلاف رو راه اندازی و مدیریت می کنه .

این جنبه ش برام جالب و تا حدودی عجیب بود

تم اصلی داستان اصلا چیز جذاب و یونیکی نیس قاچاق مواد و کشتن انسانها و ....

اما لابلای گوش دادن به متن اصلی داستان مدام ذهنم نشانه ها و رد پاهای اصول Object Oriented و طراحی نرم افزار رو پیدا می کرد و جالب اینکه حین گوش دادن مدام می گفتم اینجا از فلان اصل پایه ای OO استفاده کرده اینجا دیزاین پترن مثلا template method بکار برده اوونجا منظورش از agent ( عامل ) همون interface بوده همه جا SOLID به خوبی رعایت شده و.......

ولی خب مثل خیلی از مهندسین نرم افزار عجله(بخونید Agile دی: ) و گیرافتادن تو مخمصه یا شاید هم اعتماد به نفس بالا باعث شده کثیف کاری کنه تو نقشه هاش و همین کثیف کاری هاش باعث ردیابی و آشکار شدن هویت واقعیش شده !!!

خلاصه که اگه از شغل برنامه نویسی پول خوبی در نمیارید یا بخاطر هزینه های روز افزون زندگی تو ایران نمی تونید خودتو رو همچنان اون بالای خط فقر نگه دارید ولی طراح خوب نرم افزار هستید و تفکر استراتژیک عالیی دارید بدونید از این توانایی شما در چنین جاهایی هم میشه استفاده کرد :))))


ته نوشت : با خودم داشتم فکر می کردم وقتی یه نفر اینطوری می تونه با اشراف براطلاعات و نقص قوانین و تبصره های قانونی این چنین تشکیلات تبهکارانه راه بیندازد یک دولت / سیستم حکومتی بنا شده بر اصول شیطانی و تبهکارانه چقدر می تونه در سطح جهانی ، دنیا رو به آشوب و تباهی بکشاند به کمک پول ،قدرت اطلاعاتی و استخدام وکلای بین المللی ، نیروهای امنیتی و نظامی و....


راستی این لیست از اصول OO رو بد نیس ته جیب مون داشته باشیم حین اداره تشکیلات مافیایی (پروژه )

:))))

  1. Single Responsibility Principle (SOLID)
  2. High Cohesion
  3. Low Coupling
  4. Open Closed Principle (SOLID)
  5. Liskov Substitution principle (SOLID)
  6. Interface Segregation Principle (SOLID)
  7. Dependency Inversion Principle (SOLID)
  8. Program to an Interface, not to an Implementation
  9. Hollywood Principle
  10. Polymorphism
  11. Information Expert
  12. Creator
  13. Pure Fabrication
  14. Controller
  15. Favor composition over inheritance
  16. Indirection
  17. Demeter Principle