Heim Java javaLernprogramm Neue Java-Bewegung: Testgetriebene Entwicklung 3 – Benutzerregistrierung 2

Neue Java-Bewegung: Testgetriebene Entwicklung 3 – Benutzerregistrierung 2

Dec 30, 2016 pm 01:13 PM

Testgetriebene Entwicklung (TDD) ist eigentlich kein neues Konzept, aber das Wesen dieser Methodik wird oft missverstanden. In meinem Fall bedeutet testgetriebene Entwicklung meiner Meinung nach, Unit-Tests zu schreiben, um den Code vollständig zu testen. Tatsächlich ist dies eines der häufigsten Missverständnisse über testgetriebene Entwicklung. Bei der testgetriebenen Entwicklung steht nicht nur das Testen im Vordergrund, sondern auch die Antriebsentwicklung. Der Zweck des Schreibens von Testfällen ist nicht nur das Testen, sondern auch ein Design, ein Design von Funktionen und Schnittstellen sowie ein Design aus der Perspektive von Benutzern von Funktionen oder Schnittstellen, während das Design in anderen Methoden das Design aus der Perspektive eines Entwicklers ist Eine testgetriebene Entwicklung trägt eher dazu bei, gute Designs zu produzieren.

Aber das einfache Entwerfen durch Testen und Ausführen von Tests zur Sicherstellung der Codequalität reicht nicht aus, um qualitativ hochwertige Softwareprodukte zu produzieren. Bei der testgetriebenen Entwicklung wird auch Wert auf Refactoring gelegt, bei dem die unangemessenen Teile des Codes umgestaltet werden. Dieses Refactoring muss bei jedem Testschreib-, Entwicklungs- und Verifizierungsprozess durchgeführt werden, da es Testfälle gibt, die dies garantieren können Souveränes und mutiges Refactoring ohne Angst vor unbeabsichtigten Folgen.

Zurück in unserem Projekt, in MainServlet, haben wir die gesamte Geschäftslogik implementiert, aber wir werden bald erkennen, dass, wenn die gesamte Anwendungslogik in diese Klasse geschrieben wird, diese Klasse irgendwann zu einem Riesen wird nicht wartbar, daher müssen wir die Implementierung der Geschäftslogik für die Benutzerregistrierung in das Benutzermodul einfügen. Wie Sie sehen, haben wir mit dem Umbau unseres Systems begonnen.

Zuerst erstellen wir das Benutzerpaket und die UserMngr-Klasse unter diesem Paket, da wir davon ausgehen, dass das Benutzermodul neben der Pflege grundlegender Benutzerinformationen auch Benutzergruppen, Benutzerebenen, Benutzerpunkte und anderes verwalten muss Informationen Es ist nicht erforderlich, dass der Anrufer diese Details vollständig versteht. Daher verwenden wir hier den Fassadenmodus und alle Vorgänge für den Benutzer werden über UserMngr ausgeführt. Der Code lautet wie folgt:

public class UserMngr {  
    public static long registerUser(Map<String, Object> userInfo) {  
        return 101;  
    }  
}
Nach dem Login kopieren

Wir sehen, dass wir in dieser Klasse nur einen Wert zurückgeben und nichts tun, um schnell zu überprüfen, ob unsere rekonstruierte Architektur später funktionieren kann. Außerdem müssen Sie auf die Parameterelemente achten. Hier wird das Map-Objekt verwendet, das heißt, die Parameter werden in einem Array ähnlich dem in PHP übergeben. In Java ist es üblicher, für diesen Zweck eine Wertobjektklasse zu entwerfen. Dies führt jedoch häufig dazu, dass viele Wertobjektklassen definiert werden, oder dass ein Wertobjekt aufgrund der Notwendigkeit der gemeinsamen Nutzung sehr groß ist. Hier wird Map zum Übergeben von Parametern verwendet , was solche Probleme überflüssig macht.

Fügen Sie den Code zum Aufrufen des Benutzermoduls im MainServlet unten hinzu:

private void registerUser(HttpServletRequest request, HttpServletResponse response) 
			throws IOException, ServletException {
		String userName = null;
		if (request.getParameter("userName") != null) {
			userName = request.getParameter("userName");
		}
		Map<String, Object> userInfo = new HashMap<String, Object>();
		userInfo.put("userName", userName);
		long userId = UserMngr.registerUser(userInfo);
		Map<String, Object> model = new HashMap<String, Object>();
		model.put("userId", "" + userId);
		request.setAttribute("model", model);
		/*this.getServletContext().getRequestDispatcher("/caporder/apply_capital.jsp")
			.forward(request, response);*/
	}
Nach dem Login kopieren

Führen Sie den Testfall unten aus und er sollte erfolgreich sein. Dies beweist, dass meine Rekonstruktion der Architektur dieses Mal erfolgreich ist.

Das Obige ist der Inhalt der neuen Java-Bewegung: Testgetriebene Entwicklung 3 --- Benutzerregistrierung 2. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Deepseek Official Website -Eingang und neueste Werbeaktivitäten Deepseek Official Website -Eingang und neueste Werbeaktivitäten Feb 19, 2025 pm 05:15 PM

Die offizielle Website von Deepseek startet jetzt mehrere Rabattaktivitäten, um den Benutzern ein Einkaufserlebnis zu bieten. Neue Benutzer melden sich an, um einen Gutschein in Höhe von 10 US -Dollar zu erhalten, und genießen einen begrenzten Zeitraum von 15% für das gesamte Publikum. Empfehlen Sie Freunde können auch Belohnungen verdienen, und Sie können Punkte für die Erlösung von Geschenken beim Einkaufen sammeln. Die Veranstaltungsfristen sind unterschiedlich.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Sesame Open Door Offizielle Website Handelsplattform Sesam Open Door Offizielle Website -Austauschregistrierung Eingang Sesame Open Door Offizielle Website Handelsplattform Sesam Open Door Offizielle Website -Austauschregistrierung Eingang Feb 28, 2025 am 10:57 AM

Gate.io Sesame Open ist die weltweit führende Blockchain Digital Asset Trading Platform, einschließlich Fiat Currency -Handel, Währungshandel, gehebelter Handel, ewige Verträge, ETF -Leveraged Tokens, Wealth Management, Startup anfängliches öffentliches Angebot und andere Abschnitte, Benutzer mit Sicherheit, Stabilität, Offenheit und Transparenz.

Gestalten Sie die Zukunft: Java-Programmierung für absolute Anfänger Gestalten Sie die Zukunft: Java-Programmierung für absolute Anfänger Oct 13, 2024 pm 01:32 PM

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Wie führe ich Ihre erste Spring -Boot -Anwendung in der Spring Tool Suite aus? Wie führe ich Ihre erste Spring -Boot -Anwendung in der Spring Tool Suite aus? Feb 07, 2025 pm 12:11 PM

Spring Boot vereinfacht die Schaffung robuster, skalierbarer und produktionsbereiteter Java-Anwendungen, wodurch die Java-Entwicklung revolutioniert wird. Der Ansatz "Übereinkommen über Konfiguration", der dem Feder -Ökosystem inhärent ist, minimiert das manuelle Setup, Allo

Java leicht gemacht: Ein Leitfaden für Anfänger zur Programmierleistung Java leicht gemacht: Ein Leitfaden für Anfänger zur Programmierleistung Oct 11, 2024 pm 06:30 PM

Java leicht gemacht: Ein Leitfaden für Anfänger zur leistungsstarken Programmierung Java ist eine leistungsstarke Programmiersprache, die in allen Bereichen von mobilen Anwendungen bis hin zu Systemen auf Unternehmensebene verwendet wird. Für Anfänger ist die Syntax von Java einfach und leicht zu verstehen, was es zu einer idealen Wahl zum Erlernen des Programmierens macht. Grundlegende Syntax Java verwendet ein klassenbasiertes objektorientiertes Programmierparadigma. Klassen sind Vorlagen, die zusammengehörige Daten und Verhaltensweisen organisieren. Hier ist ein einfaches Java-Klassenbeispiel: publicclassPerson{privateStringname;privateintage;

Gate.io Exchange Neuling Registrierung und Handels -Tutorial Gate.io Exchange Neuling Registrierung und Handels -Tutorial Feb 21, 2025 pm 09:54 PM

Gate.io Exchange ist eine der weltweit führenden Kryptowährungs -Handelsplattformen. Dieser Leitfaden bietet Schritt-für-Schritt-Tutorials, mit denen Benutzer mit Gate.io registriert und handeln können. Der Registrierungsprozess beinhaltet die Auswahl der Registrierungsmethode (Telefon, E -Mail oder soziales Konto), das Ausfüllen von Informationen, das Festlegen eines Anmeldekennworts und das Abschluss der Identitätsauthentifizierung. Zu den Handels -Tutorials gehören zu dem Zugriff auf Handelsseiten, die Auswahl von Handelspaaren, die Eingabe von Handelsinformationen, das Bestellen einer Bestellung und die Anzeige des Auftragsstatus. Unter Anleitung dieses Artikels können Benutzer die Kryptowährung auf Gate.io problemlos mit dem Handel mit dem Handel mit dem Handel mit dem Handel mit dem Handel anfangen.

See all articles