Pełnomocnik (ang. Proxy ) jest wzorcem, który pozwala na zbudowanie warstwy pośredniczącej między obiektem a innymi obiektami, które z niego korzystają. Przykładowo może służyć on do kontrol owania dostępu do obiektu, lub do utworzenia go dopiero w momencie, gdy będzie on używany. Pełnomocnik należy do strukturalnych wzorców projektowych. Więcej o rodzajach wzorców można poczytać tutaj [under construction]. Przykład 1: Rozważmy aplikację, która ładuje obrazek z pamięci i wyświetla go na ekran: interface IImageDisplayer { void Display (); } class ImageDisplayer : IImageDisplayer { private string _path; private Image _image; public ImageDisplayer ( string path) { _path = path; _image = LoadImage(_path); } private Image LoadImage ( string path) { //ładujemy obrazek z dysku return new Image (); ...