Interceptor is a design pattern that allows code to be executed or data to be manipulated before or after a particular operation (an action method is invoked). For example, in web development, interceptors can be used to modify HTTP requests or responses (request/response pipeline). Allowing developers to use interceptors to manage concerns like logging, security, caching, validation, and transaction handling in a modular and reusable way.
Delegate is a type that represents references to methods (pointer to methods). It allows methods to be passed as parameters, stored as variables, and invoked indirectly. Delegates are a powerful feature of languages like C# and are often used in event handling, callbacks, and implementing various design patterns.
A program (application like MS Word) when running, it’s loaded into memory and become a Process. Thread is simplest execution unit of process, process can have multiple Thread, ex: MS Word is a process, there have a thread to check gramma, thread to input user typing.