Programowanie

Interface Segregation Principle czyli interfejs powinien być jak modelka–przeraźliwie chudy

Jestem fanem interfejsów jak to wcześniej już pisałem, zatem dzisiaj będzie temat łatwy i przyjemny o interfejsach właśnie. W sam raz na ciężki po długo weekendowy poniedziałek. Interface Segregation Principle mówi, że klient nie powinien być zmuszany do implementowania interfejsów, których nie używa. Z tego wynika, że interfejs powinien być minimalistyczny lub po prostu możliwie […]

Interface Segregation Principle czyli interfejs powinien być jak modelka–przeraźliwie chudy Read More »

Kwadrat jest prostokątem czyli Liskov Substitution Principle (LSP)

Od młodego uczą nas, że każdy kwadrat jest prostokątem. Później uczymy się programować i zaczyna się tragedia. Matematycznie kwadrat jest specyficznym  przypadkiem prostokąta programistycznie już nie bardzo. Metoda ustawiająca szerokość wywołana dla prostokąta powinno ustawić jego szerokość a w przypadku kwadratu? W przypadku kwadratu oczekujemy, że ustawienie szerokości ustawi również wysokość. Zobaczmy zatem taki kod:

Kwadrat jest prostokątem czyli Liskov Substitution Principle (LSP) Read More »

Koncepcja elastycznej architektury

Wyobraźmy sobie, że cała aplikacja nad którą chcemy pracować zbudowana jest tak, że nie ma żadnych referencji do bazy danych, żadnych referencji związanych ze sposobem wyświetlania, żadnych okienek, stron www… nic. Tylko klasę, która mogła by wyglądać tak: [csharp] public class MyGreatApplication { public IAbout About() { // zwraca informacje na temat aplikacji } public

Koncepcja elastycznej architektury Read More »

Architektura czyli jedna z najbardziej niedocenianych umiejętności

… na szczęście nie przez wszystkich. Intencją niniejszej serii jest przedstawienie podstaw programowania w trochę inny sposób, dlatego mówiąc najbardziej niedoceniana umiejętność w domyśle tyczy się to początkujących. Starsi albo sami dotarli do odpowiedniej wiedzy albo życie ich nauczyło. Jak wyglądają pierwsze kroki w programowaniu? Po opanowaniu pętli for i foreach, ifów i caseów, Console.WriteLineów

Architektura czyli jedna z najbardziej niedocenianych umiejętności Read More »

Dependency Inversion Principle – czyli co powinno zależeć od czego

Po Single Responsiblity Principle najważniejsza (moim zdaniem) zasada programowania obiektowego – Dependency Inversion Principle. Mówi ona, że obiekty powinny być zależne od abstrakcji a nie od konkretnej klasy. A po ludzku, w żadnej definicji funkcji i w żadnej deklaracji zmiennej nie powinniśmy używać nazwy klasy. Zamiast tego powinniśmy używać interfejsy albo klasy abstrakcyjne czyli zamiast

Dependency Inversion Principle – czyli co powinno zależeć od czego Read More »

Single Responsibility Principle – ciąg dalszy

Wczoraj mówiliśmy o single responsibility principle (SRP) czyli o zasadzie pojedynczej odpowiedzialności. Jest to zasada, która moim zdaniem najwięcej zmienia w dotychczasowych przyzwyczajeniach programistycznych. Na początku jest trochę męcząca ponieważ zgodnie z nią w klasie nie powinniśmy tworzyć innych obiektów. Jak to? Nie mogę używać słowa kluczowego new? Nie mogę tworzyć obiektów? No właściwie to

Single Responsibility Principle – ciąg dalszy Read More »

Lekcja języka polskiego w programowaniu

Wielu programistów to umysły tzw. ścisłe. Osoby takie mają to do siebie, że nie pałają wielką radością do przedmiotów typu język polski – muszę kupić ziemniaki – czy też historia. Mimo pewnej niechęci i braku opanowania sztuki pięknego pisania wypracowań, większość z nich (nas) – a do tych ziemniaków jeszcze jakieś pomidory – potrafi przestrzegać

Lekcja języka polskiego w programowaniu Read More »

Podstawy programowania

Niniejszy post jest 200-tną notatką na blogu. Aż dziw bierze, że tak długo już prowadzę tego bloga (pierwszy wpis 26.01.2008). Wprawdzie 200 wpisów  na 4 lata to niewiele, to nie sądziłem, że tak długo będę to robić. Co bardziej ciekawscy pewnie i znajdą moje pierwsze podejście do blogowania z pierwszym wpisem z 7/14/2005 09:09:00 AM (wtedy nawet

Podstawy programowania Read More »

Scroll to Top