Aktywne Wpisy

SzubiDubiDu +204
Trochę nie czaję bólu dupy o wystąpienie tych 2 lasek w DD TVN.
W sumie gadały sensownie:
- przegryw jest samotny
- przegryw nie ma do kogo się odezwać
- terapia #!$%@? daje bez pomocy otoczenia
- przegryw bywa przegrywem przez obiektywne problemy fizyczne (aka #!$%@? genetyczne)
- przegrywy na grupach niby się wysł#!$%@?ą ale nie motywują do poprawy swojego losu
- nie każdy przegryw to mizogin, nie każdy mizogin to przegryw
W sumie gadały sensownie:
- przegryw jest samotny
- przegryw nie ma do kogo się odezwać
- terapia #!$%@? daje bez pomocy otoczenia
- przegryw bywa przegrywem przez obiektywne problemy fizyczne (aka #!$%@? genetyczne)
- przegrywy na grupach niby się wysł#!$%@?ą ale nie motywują do poprawy swojego losu
- nie każdy przegryw to mizogin, nie każdy mizogin to przegryw
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.





Czy jest sens zamieniać to na interfejsy (dependency injection - jeszcze tego nie ogarniam?) albo jakiś wzorzec np. builder/adapter?
Napisalem kiedys dla 1 klienta program, który pobiera z bazy dokumenty i wrzuca do XL'a.
Tak się składa, że muszę to przepisać pod inny system działający w oparciu o REST.
Skoro już jestem mądrzejszy o te 1-2 lata chciałem to zrobić trochę lepiej/ładniej.
Teraz to wygląda tak, że jest jakiś dokument bazowy i z niego dziedziczą np. dok zakupowy/ dok sprzedażowy/ dok magazynowy itp. (oprócz tego każdy dokument w sobie może mieć kilka typów np. faktura/paragon/korekta - to już jest oparte na ifach w obrębie danego dokumentu).
Każdy taki podtyp jest enumem przekazywanym w parametrze a nastepnie obsłużony if'ami w konkretnych metodach jeśli są różnice.
Każdy dokument ma podobne bloki w stylu.
Kod z lepszym formatowaniem
Pastebin
public class DokSprzedazowy : Dokument{
private void ZalozDokument(KlasaZDanymiDokumentu dokument, EnumTypDok typDokumentu)
{
WeryfikacjaDanych(dokument, typDokumentu); //EnumTypDok = np. paragon / korekta
Nagłówek(dokument, typDokumentu);
Pozycje(dokument, typDokumentu); // mogą być dokumenty, które nie mają pozycji tylko sam nagłówek
ZalozWXL();
}
}
private void WeryfikacjaDanych(KlasaZDanymiDokumentu Dokument, EnumTypDok TypDok)
{
if(TypDok == paragon || TypDok == fakturaSprzed)
{
//sprawdz cos
}
else
{
//sprawdz cos innego
}
}
Ogólnie to działa dobrze, chociaż sporo kodu jest powielone, ale to co się dało jest tez wyciągnięte do bazowej klasy Dokument z tym, że w środku jest dużo if'ów na różne typy dokumentów.
#csharp
@zibizz1: Chyba chodzi o taki program Comarchu ( ͡° ͜ʖ ͡°) ale pewności nie mam
Znaczy się przyjacielu jest zarówno XL jak i XT
@obieq: to raczej nie ma prawa działać ¯\_(ツ)_/¯
zrobweryfikacje/ dodajnaglowek / (opcjonalnie w niektorych) dodaj pozycje
zobacze jakby Factory mozna dostosowac