Pytania otagowane jako architecture

Ogólny projekt i opis systemu oprogramowania. Projekt architektoniczny przedstawia szczegóły implementacji, algorytmów i reprezentacji danych, aby skoncentrować się na interakcji komponentów „czarnej skrzynki”.

30
Jak mogę stworzyć własny język programowania i kompilator dla niego [zamknięte]
Jestem dogłębnie programowany i poznałem języki, w tym BASIC, FORTRAN, COBOL, LISP, LOGO, Java, C ++, C, MATLAB, Mathematica, Python, Ruby, Perl, JavaScript, asembler i tak dalej. Nie rozumiem, jak ludzie tworzą języki programowania i opracowują dla nich kompilatory. Nie mogłem również zrozumieć, w jaki sposób ludzie tworzą systemy operacyjne …


16
Kiedy stosuje się zasadę pojedynczej odpowiedzialności, co stanowi „odpowiedzialność?”
Wydaje się całkiem jasne, że „zasada pojedynczej odpowiedzialności” nie oznacza „tylko jednej rzeczy”. Po to są metody. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } Bob Martin mówi, że „klasy powinny mieć tylko jeden powód do zmiany”. …


17
Czy lepiej jest zwracać NULL lub puste wartości z funkcji / metod, w których zwracana wartość nie jest obecna?
Szukam rekomendacji tutaj. Mam problem z tym, czy lepiej zwrócić NULL, czy pustą wartość z metody, gdy zwracana wartość nie jest obecna lub nie można jej ustalić. Jako przykład weź następujące dwie metody: string ReverseString(string stringToReverse) // takes a string and reverses it. Person FindPerson(int personID) // finds a Person …

9
Czy istnieje jakiś „prawdziwy” powód, dla którego nienawidzono wielokrotnego dziedziczenia?
Zawsze podobał mi się pomysł obsługiwania wielokrotnego dziedziczenia w jednym języku. Najczęściej jednak jest celowo zapominany, a domniemanym „zamiennikiem” są interfejsy. Interfejsy po prostu nie obejmują tego samego gruntu, co wielokrotne dziedziczenie, a to ograniczenie może czasami prowadzić do większej liczby kodów wzorcowych. Jedynym podstawowym powodem, dla którego kiedykolwiek to …

8
Krytyka i wady zastrzyku uzależnienia
Wstrzykiwanie zależności (DI) jest dobrze znanym i modnym wzorem. Większość inżynierów zna jego zalety, takie jak: Umożliwienie / łatwość izolacji podczas testów jednostkowych Jawne definiowanie zależności klasy Ułatwienie dobrego projektu ( na przykład zasada pojedynczej odpowiedzialności ) Szybkie włączanie implementacji przełączania ( DbLoggerzamiast ConsoleLoggerna przykład) Uważam, że istnieje ogólna zgoda …

10
Nie używaj „statycznego” w C #?
Złożyłem aplikację, którą napisałem do innych architektów w celu przejrzenia kodu. Jeden z nich niemal natychmiast odpisał mi i powiedział: „Nie używaj„ statycznego ”. Nie możesz pisać automatycznych testów za pomocą klas i metod statycznych. Należy unikać„ statycznego ”. Sprawdziłem iw pełni 1/4 moich zajęć jest oznaczonych jako „statyczne”. Używam …

5
Czy wytyczne asynchroniczne / oczekujące na użycie w C # nie są sprzeczne z koncepcjami dobrej architektury i warstw abstrakcji?
To pytanie dotyczy języka C #, ale spodziewam się, że obejmie inne języki, takie jak Java lub TypeScript. Microsoft zaleca najlepsze praktyki korzystania z wywołań asynchronicznych w .NET. Spośród tych rekomendacji wybierzmy dwa: zmień podpis metod asynchronicznych, tak aby zwracały Zadanie lub Zadanie <> (w TypeScript byłoby to Obietnicą <>) …
103 c#  architecture  async 

9
Dlaczego powinienem używać zastrzyku zależności?
Trudno mi znaleźć zasoby na temat tego, dlaczego powinienem używać zastrzyku zależności . Większość zasobów, które widzę, wyjaśnia, że ​​po prostu przekazuje instancję obiektu do innej instancji obiektu, ale dlaczego? Czy to tylko dla czystszej architektury / kodu czy wpływa to na wydajność jako całość? Dlaczego powinienem wykonać następujące czynności? …

17
Czy dobrym pomysłem jest zaprojektowanie architektury z myślą, że klasy interfejsu użytkownika można zastąpić interfejsem wiersza poleceń?
W Code Complete strona 25 napisano, że dobrym pomysłem jest możliwość łatwego zastąpienia zwykłych klas interfejsu użytkownika klasą z linii poleceń. Znając jego zalety w testowaniu, co z problemami, jakie może to przynieść? Czy ta dodatkowa praca naprawdę się opłaci w przypadku projektów internetowych i mobilnych? Co z małymi i …

10
Dlaczego Alan Kay powiedział: „Internet był tak dobrze zrobiony, ale Internet był przez amatorów”?
OK, sparafrazowałem. Pełny cytat: Internet został wykonany tak dobrze, że większość ludzi uważa go za zasoby naturalne, takie jak Ocean Spokojny, a nie za coś stworzonego przez człowieka. Kiedy po raz ostatni technologia o takiej skali była tak wolna od błędów? Dla porównania, Internet to żart. Sieć została stworzona przez …

9
W jaki sposób utrzymywane są ogromne biblioteki open source, mając kod daleki od praktyk „czystego kodu”?
Nadal nie mam doświadczenia w pisaniu kodu o wysokiej jakości, dlatego czytam książki poświęcone temu zagadnieniu, takie jak Clean Code autorstwa Roberta C. Martina, i ciągle sprawdzam kod znanych bibliotek, aby poprawić swoje umiejętności. Chociaż wiele bibliotek open source jest utrzymywanych od lat, co oznacza, że ​​jest bardzo mało prawdopodobne, …

7
Jaka jest najbardziej akceptowana strategia transakcyjna dla mikrousług
Jednym z głównych problemów, które widziałem w systemie z mikrousługami, jest sposób działania transakcji, gdy obejmują one różne usługi. W ramach naszej własnej architektury korzystamy z transakcji rozproszonych, aby rozwiązać ten problem, ale wiążą się one z własnymi problemami. Szczególnie impasy były jak dotąd bólem. Kolejną opcją wydaje się być …


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.