Beispiel 1: In meiner MVVM-Anwendung wird eine Ansicht angezeigt (wir verwenden Silverlight für die Zwecke der Diskussion) und ich klicke auf eine Schaltfläche, die mich zu einer neuen Seite führen soll. Beispiel 2: Dieselbe Ansicht verfügt über eine weitere Schaltfläche, die beim Klicken eine Detailansicht in einem untergeordneten Fenster (Dialogfeld) …
Ich arbeite derzeit an einem System, auf dem Benutzer vorhanden sind und jeder Benutzer eine oder mehrere Rollen hat. Ist es eine gute Praxis, List of Enum-Werte für Benutzer zu verwenden? Ich kann mir nichts Besseres vorstellen, aber das fühlt sich nicht gut an. enum Role{ Admin = 1, User …
Ich mache schon lange Webprogrammierung und irgendwo habe ich den Überblick verloren, warum wir das tun, was wir heute tun (oder wie wir dazu gekommen sind, Dinge auf diese Weise zu tun)? Ich habe mit der grundlegenden ASP-Webentwicklung begonnen, und schon sehr früh waren Anzeige und Geschäftslogik auf der Seite …
Ein Freund von mir arbeitet für eine kleine Firma an einem Projekt, das jeder Entwickler hassen würde: Er ist unter Druck gesetzt, so schnell wie möglich zu veröffentlichen, er ist der einzige, der sich anscheinend um technische Schulden kümmert, der Kunde hat keinen technischen Hintergrund usw. Er erzählte mir eine …
Was wird beim Programmieren als Prinzip des geringsten Erstaunens bezeichnet? In welcher Beziehung steht dieses Konzept zum Entwerfen guter APIs? Gilt dies nur für die objektorientierte Programmierung oder durchdringt es auch andere Programmiertechniken? Hängt dies mit dem Prinzip zusammen, "eine einzige Sache in Ihrer Methode zu tun und es gut …
Ich nehme an einem Software-Design-Kurs teil, in dem ich eine Open-Source-Software zur Analyse aus Sicht des Software-Designs auswählen sollte. Es muss ein großes Projekt sein: mindestens 100.000 Codezeilen. Ich würde wirklich gerne eine Software wählen, die sehr gut entworfen und aufgebaut ist, um gute Einblicke in gutes Software-Design zu haben. …
Ich habe immer erkannt, wie wichtig es ist, Designmuster zu verwenden. Ich bin gespannt, wie andere Entwickler die am besten geeignete auswählen. Verwenden Sie eine Reihe von Merkmalen (wie ein Flussdiagramm), um sich zu entscheiden? Beispielsweise: Wenn Objekte verwandt sind, wir aber keine konkrete Klasse angeben möchten, ziehen Sie Abstract …
Aus den "Gang of Four" -Designmustern ergibt sich die Factory-Methode: class Factory(product) case product when a new A when b new B when c new C end new Factory(a) Warum ist das sinnvoller als mit drei Klassen, a, b, und cund sie einzeln aufrufen?
Ich habe viele Implementierungen des Builder-Musters gesehen (hauptsächlich in Java). Alle von ihnen haben eine Entity-Klasse (sagen wir eine PersonKlasse) und eine Builder-Klasse PersonBuilder. Der Builder "stapelt" verschiedene Felder und gibt ein new Personmit den übergebenen Argumenten zurück. Warum benötigen wir explizit eine Builder-Klasse, anstatt alle Builder-Methoden in der PersonKlasse …
Beschränkt sich das Muster "Builder" auf die Adressierung des Anti-Musters "Teleskopkonstruktor", oder kann es auch auf das allgemeinere Problem der komplizierten Erstellung unveränderlicher Objekte angewendet werden? Die StringBuilderKlasse hat das Wort "Builder" im Namen, hat jedoch nichts mit Teleskopkonstruktoren zu tun. Sie hilft uns lediglich dabei, alle Daten zu sammeln, …
Welches ist allgemein akzeptierte Praxis zwischen diesen beiden Fällen: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } oder function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } Mit anderen Worten, ist es im Allgemeinen besser, ganze Objekte herumzuleiten oder nur die Felder, die Sie benötigen?
Ich habe ein Stück Code, in dem ich eine Map iteriere, bis eine bestimmte Bedingung erfüllt ist, und diese Bedingung später benutze, um weitere Aufgaben zu erledigen. Beispiel: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > limit) …
Ich habe eine verwandte Frage gelesen. Gibt es Entwurfsmuster, die in dynamischen Sprachen wie Python nicht erforderlich sind? und erinnerte mich an dieses Zitat auf Wikiquote.org Das Wunderbare an dynamischer Eingabe ist, dass Sie damit alles ausdrücken können, was berechenbar ist. Typsysteme sind normalerweise nicht bestimmbar und beschränken Sie auf …
Ich bin gespannt, welche Nachteile die Verwendung des ActiveRecord-Musters für Datenzugriffs- / Geschäftsobjekte hat. Das Einzige, woran ich auf Anhieb denken kann, ist, dass es gegen das Prinzip der einfachen Verantwortung verstößt, aber das AR-Muster ist weit genug verbreitet, dass dieser Grund alleine nicht "gut genug" zu sein scheint, um …
Mein Kollege und ich haben unterschiedliche Meinungen zum Verhältnis zwischen Basisklassen und Interfaces. Ich bin der Meinung, dass eine Klasse keine Schnittstelle implementieren sollte, es sei denn, diese Klasse kann verwendet werden, wenn eine Implementierung der Schnittstelle erforderlich ist. Mit anderen Worten, ich sehe Code gerne so: interface IFooWorker { …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.