Pytania otagowane jako single-responsibility

Zasada pojedynczej odpowiedzialności stanowi, że każdy moduł w systemie powinien być odpowiedzialny za pojedynczą cechę lub funkcjonalność albo za agregację spójnej funkcjonalności. Innym powszechnym sposobem wyrażenia tego jest stwierdzenie, że każdy moduł powinien mieć tylko jeden powód do zmiany.

6
Walka z zasadą pojedynczej odpowiedzialności
Rozważ ten przykład: Mam stronę internetową Pozwala użytkownikom tworzyć posty (mogą być dowolne) i dodawać tagi opisujące posty. W kodzie mam dwie klasy reprezentujące post i tagi. Nazwijmy te klasy Posti Tag. Postzajmuje się tworzeniem postów, usuwaniem postów, aktualizowaniem postów itp. Tagzajmuje się tworzeniem tagów, usuwaniem tagów, aktualizowaniem tagów itp. …

6
Jakie są praktyczne sposoby wdrożenia SRP?
Po prostu jakich praktycznych technik używają ludzie, aby sprawdzić, czy klasa narusza zasadę pojedynczej odpowiedzialności? Wiem, że klasa powinna mieć tylko jeden powód do zmiany, ale w tym zdaniu brakuje praktycznego sposobu, aby to naprawdę wdrożyć. Jedynym sposobem, jaki znalazłem, jest użycie zdania „The ......... powinien ......... sam w sobie”. …


3
Jak zarządzać pojedynczą odpowiedzialnością, gdy odpowiedzialność jest dzielona?
Mam dwie podstawowe klasy Operationi Trigger. Każda z nich ma wiele podklas, które specjalizują się w określonych rodzajach operacji lub wyzwalaczy. A Triggermoże wyzwolić określony Operation. Chociaż Operationmoże być wyzwalany przez określony Trigger. Muszę napisać kod, który odwzorowuje dane Operationdane Trigger(lub odwrotnie), ale nie jestem pewien, gdzie je umieścić. W …

2
Kiedy postępuję zgodnie z SRP, jak powinienem postępować z zatwierdzaniem i zapisywaniem jednostek?
Czytam ostatnio Clean Code i różne artykuły online o SOLID, a im więcej o tym czytam, tym bardziej czuję, że nic nie wiem. Załóżmy, że buduję aplikację internetową przy użyciu ASP.NET MVC 3. Powiedzmy, że mam UsersControllertaką Createakcję: public class UsersController : Controller { public ActionResult Create(CreateUserViewModel viewModel) { } …


7
Czy sprawiam, że moje zajęcia są zbyt szczegółowe? Jak stosować zasadę pojedynczej odpowiedzialności?
Piszę dużo kodu, który obejmuje trzy podstawowe kroki. Zdobądź skądś dane. Przekształć te dane. Umieść te dane gdzieś. Zazwyczaj używam trzech rodzajów zajęć - zainspirowanych ich wzorami projektowymi. Fabryki - aby zbudować obiekt z jakiegoś zasobu. Mediatorzy - aby skorzystać z fabryki, przeprowadzić transformację, a następnie użyć dowódcy. Dowódcy - …

3
Czy złą praktyką jest, aby definicja obiektu API zawierała identyfikatory referencji innych firm jako właściwości?
Lubię to: Campaign: type: object properties: id: type: string description: "A GUID identifier" referenceId: type: string description: "A consumers identifier they have used to map their own systems logic to this object." name: type: string description: "'Great Campaign 2017' as an example" Jestem zaniepokojony referencją . Domena systemowa to platforma, …

2
Standardowe praktyki kontroli dostępu (wzorzec projektowy)
Patrzę na projekt interfejsu i staram się zdecydować, który jest najbardziej „prawidłowym” sposobem wdrożenia kontroli dostępu opartej na rolach, biorąc pod uwagę useri subject, do userktórego chciałby uzyskać dostęp. Z tego co widzę, mam trzy podstawowe opcje (czwarta to zlekceważenie pierwszych trzech, a piąta poprawa czwartej): Zapytaj subjecto listę uprawnień, …

2
Czy istnieje zasada interfejsu „pytaj tylko o to, czego potrzebujesz”?
Zacząłem używać zasady projektowania i korzystania z interfejsów, która mówi w zasadzie: „proś tylko o to, czego potrzebujesz”. Na przykład, jeśli mam kilka typów, które można usunąć, utworzę Deletableinterfejs: interface Deletable { void delete(); } Następnie mogę napisać ogólną klasę: class Deleter<T extends Deletable> { void delete(T t) { t.delete(); …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.