چجوری LSP رو بیاریم تو پروژه :
چیز هایی که نشانه نقض Liskov Substitution Principle هستند می تونن شامل Empty method - Harden precondition - Type checking و ... باشند.
برای رفع این های میشه از اصل TDA یا Tell, Don't Ask استفاده کرد این اصل میگه که آقا در Object oriented باید هر ابجکت توسط متذ هایی یا operation هایی که داره حالت های درونی خودش رو تغییر بده نه اینکه یک عامل بیرونی اطلاعاتی رو از Object بپرسته و بعد بیاد یکسری عملیات خارج از شی انجام بده.
راه دیگه ای که میتونه به LSP کمک کنه حذف ارتباطات غلط بین اشیا است که مصداق این حرف اینه "هر گردی گردو نیست."
در اینجا مارتین فالر توضیح داده که TDA چیه با نمونه کد