Publicații conexe 'design-principles'


O compoziție peste moștenire: un principiu puternic de proiectare
Introducere: În lumea dezvoltării de aplicații Android folosind Kotlin, alegerea principiului corect de design este crucială pentru crearea unui cod care poate fi întreținut și scalabil. Un astfel de principiu care a câștigat popularitate este „Compunerea asupra moștenirii”. Acest principiu încurajează dezvoltatorii să favorizeze compoziția, care presupune construirea de obiecte complexe prin combinarea celor mai simple, în detrimentul moștenirii, care implică moștenirea proprietăților..

DRY (nu te repeta) poate merge prost
„Nu repeta” nu înseamnă repetă pentru tastare, ci repetă pentru a gândi. Dacă cele două coduri similare servesc scopuri/preocupări diferite, atunci este bine să obții WET (Scrie totul de două ori). Când USCĂM greșit, începem să simțim mirosuri de prevenire a schimbărilor numite „Chirurgie cu pușcă” sau „Schimbare divergentă”. Unele povești spun că trebuie să așteptăm să vedem trei apariții ale codurilor similare înainte de a le pune ca o singură funcție („Regula a trei”).

Modularitatea în proiectare
Unul dintre principalele aspecte ale programării este, de asemenea, modularitatea. Pentru a vă asigura că codul nu este complex, ușor de înțeles, codul este testabil, toate acestea depind de modul în care codul dvs. este modular. Doar pentru dezbatere, dacă ne gândim de ce trebuie să facem cod modular, să scriem atât de multe metode diferite și să le organizăm, ca o analogie, gândiți-vă doar la garderoba dumneavoastră. Dacă vă aruncați toate hainele într-o singură cutie de mărime mare, ce..

Întrebări înrudite 'design-principles'

Care este un exemplu al principiului substituției Liskov?
Am auzit că Liskov Substitution Principle (LSP) este un principiu fundamental al proiectării orientate pe obiecte. Ce este și care sunt câteva exemple de utilizare?
398685 vederi

Încheierea argumentelor funcției?
Să presupunem că am această funcție: void foo (struct1 &v1, struct2 &v2, ..., structn &vn){ //do something with a subset some of the arguments... foo1(v1, v2, ..., vn); } void foo1 (struct1 &v1, struct2 &v2, ..., structn...
286 vederi