Przejdź do głównej zawartości

Posty

Wyświetlanie postów z grudzień, 2018

[OOP] Na czym polega wzorzec projektowy Pełnomocnik?

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 (); ...

[OOP] Na czym polega wzorzec projektowy Pyłek?

Wzorzec projektowy Pyłek służy do zmniejszania zużycia pamięci przesz aplikację poprzez współdzielenie przez wiele obiektów wspólnych zasobów. Pyłek  należy  do strukturalnych wzorców projektowych. Więcej o rodzajach wzorców można poczytać tutaj [under construction]. Rozważmy przykład prostej gry 2D. W grze tej pojawiają się postacie elfów i krasnoludów. Każdy obiekt postaci zawiera w sobie położenie na mapie, ilość punktów zdrowia oraz teksturę z obrazkiem. Zobaczmy kod: abstract class Sprite { protected abstract string TextureLocation { get ; } protected Texture _texture; public Sprite () { _texture = Texture.Load(TextureLocation); } public int X { get ; set ; } public int Y { get ; set ; } public int HealthPoints { get ; set ; } } class Elf : Sprite { protected override string TextureLocation => ...

[OOP] Na czym polega wzorzec projektowy Fasada?

Wzorzec Fasada polega na zdefiniowaniu uproszczonego interfejsu do złożonego systemu , w sposób eksponujący pewien aspekt tego systemu. Fasada  należy  do strukturalnych wzorców projektowych. Więcej o rodzajach wzorców można poczytać tutaj [under construction]. Przykład 1. Wyobraźmy sobie "inteligentny" dom. Budynek jest nafaszerowany różnego rodzaju czujnikami, na przykład: czujnik statusu okien (otwarte/zamknięte, zasunięte/odsunięte rolety) czujnik temperatury czujnik wilgotności czujnik zapasu paliwa do pieca czujnik w lodówce, mówiący ile mamy jedzenia czujnik w pralni, mówiący ile mamy proszku do prania w zapasie czujnik mówiący ile energii elektrycznej zużywamy w tym momencie i tak dalej Firma która wybudowała nasz dom udostępnia nam jego API. API to wygląda w ten sposób: interface IHouse { //jedzenie int GetTotalKcalStored (); DateTime GetExpirationDate (FoodProduct p); void OrderFoodDelivery ...