W tym miejscu wracam do bycia dinozaurem ...
Instrukcje Switch nie są same w sobie złe, ich użycie jest kwestią sporną.
Najbardziej oczywistym z nich jest „ta sama” instrukcja przełączania powtarzana w kółko przez twój kod, który jest zły (już tam zrobiono, dołożyłbym wszelkich starań, aby nie powtórzyć tego ponownie) - i to w tym ostatnim przypadku możesz być w stanie sobie poradzić z użyciem polimorfizmu. Zwykle jest też coś dość okropnego w zagnieżdżonych skrzynkach (kiedyś miałem absolutnego potwora - nie do końca jestem pewien, jak sobie z tym radzę, poza „lepszym”).
Słownik jako przełącznik Uważam, że jest trudniejszy - zasadniczo tak, jeśli twój przełącznik obejmuje 100% przypadków, ale tam, gdzie chcesz mieć domyślne przypadki braku akcji lub akcji, zaczyna być nieco bardziej interesujący.
Myślę, że chodzi o unikanie powtórzeń i upewnienie się, że tworzymy nasze wykresy obiektowe we właściwych miejscach.
Ale jest też argument zrozumienia (łatwości konserwacji), który ogranicza obie strony - gdy zrozumiesz, jak to wszystko działa (wzorzec i aplikacja, w której jest zaimplementowany), jest to łatwe ... ale jeśli dojdziesz do jednego wiersza kodu, w którym musisz dodać coś nowego, a następnie przeskoczyć w to miejsce, aby ustalić, co musisz dodać / zmienić.
Pomimo tego, że nasze środowiska programistyczne są ogromnie zdolne, nadal uważam, że pożądane jest, aby móc zrozumieć kod (tak jakby to był) wydrukowany na papierze - czy możesz śledzić kod palcem? Akceptuję to w rzeczywistości nie, przy wielu dobrych praktykach dzisiaj nie możesz i z dobrych powodów, ale to oznacza, że trudniej jest zacząć od kodowania (a może jestem po prostu stary ...)