An extension method is a special kind of static method that allows you to add new methods to existing types without creating derived types.
IOC– purpose ot to implement loosely coupled sys. We have to ensure that high-level modules depend on abstractions rather than concrete implementations of lower-level modules.
Dependency Injection (DI) is a software design pattern that allow us to develop loosely coupled code. Its like a part of IOC. We can implement in (Constructor Injection, Property injection, Method injection)
Strong Reference – As long as if application refers to the object. GC will not collect those objects. Those objects we say are strong reference objects.
Weak Reference – Even though application refers to the object, GC may collect those object or may not be. Those objects are weak referenced objects.