
Certamente, qualquer pessoa envolvida em programação se lembra de como, no início da jornada, um fluxo de informações sobre algoritmos, padrões e métodos de desenvolvimento cai sobre ele. Ela se lembra daquele mesmo sentimento quando, tendo lidado com alguma ideia nova ou apenas nova para si mesma, o sentimento "bem, agora vamos viver!" E também aquele sentimento de ligeiro desespero - depois de tentar aplicar tudo isto num projecto real, com pessoas reais, com guinadas bruscas da lógica empresarial e constantes “muito urgentes”.
Como é que em um mundo onde a maioria dos projetos se encaixa no padrão "entrada de dados, validação e salvamento no banco de dados", tantos projetos acabam em uma bagunça? Apesar do fato de que todos os desenvolvedores estão cheios de conhecimento sobre algoritmos, frameworks e padrões, e os princípios do SOLID na entrevista ricocheteiam. Atrevo-me a expressar nesta ocasião a minha suposição sobre a causa, bem como a minha forma pessoal de lidar com a mesma.
Tese
. , . : , , . , , , , ( ). , "" . , “” .
? , . , “” , .
, - , - , , . , . . , , UI. , “” , .. “” “”. , : “ ” “ ” ?
, : , “”, ? , “” - , , - .

1- .
, , : (), , ? - ? , RFC 5322, - , . " " - . , , " ?". , .. , , . , , - - . , “-”. , , , . , , , .
1- : () .
, , , , . , - - . , , .

2- . "" ""
, ? , : , , “”.
: , "" ()? . , - "" , . , " , - ", " ", , - .

3- .
2 . “ ?” UI, , . Console.Write()
textbox.Text
html-, .
. , , , “ ”. , , , -, , .
, . , , , , , . , . , , , .
: Win , , .

4 : , , , . - - “ ”.
, . , . , . , , , . , , , () - : “ ” ? , “” , . , , , . - , , , .
, . Windows .
. - SMS . - - .
, “ , ”, - - . , - .
, Client
, , IO - ClientGet(int id)
, .
, IO . ClientGet
Client. ClientVerySpecificStatsInfo
, IO . , , , , . , , , , , . , . - , , .
, - ( “”) “” , " !".
, . , - - , . , , - . , , , . . , - , - , , , , .
, , . , , MVP . - , - , , - “”. , UserPresenter
, UserPrecursor
.
“ ” . , .. .. , - , “ ” - , , , .

: , UI. UI , “” , UI. ( ) . .
. “ ” . “ ” . - . , “” . , , , , .

, () - . , - . , Order (), Client User. Order Line (), . , Line Order . , , , . .
Logic.Order
Logic.Orders.Line
, Line Order - , Line Orders.
Logic.Order
Logic.Line
, Line , , .
, “” , “”, “”, . , , . . , , Zip, City, Address - , . , , .
:
/Geo
Address
City
Zip
/Orders
Line
Order // "Orders"
, , : , .
, . , , , - , . , , . -.
, . - . UML, , , , - , … … . , - Zip, Address, City - - , - - GeoObject .
, , - . “ - ” - . - .Subitems
. - .Subtypes
, .
.Def
, , , - , . .Def
(Definitions). , . UML, , .
/Geo
Address
City
Zip
/Orders
/.Def
OrderType
OrderBase
Line
Order
.Spec
, 1-1 . 1-1 . , , , .. - .
, . UML .
.Spec
- ( specification - , ), .
, User UserLikes, , / User’ .
“ ” . “” , - .
. , UserStats (“”) . , , , , . , , .. , . Stats, . (, UserStats , Stats .)
:
/Users
/.Spec
UserLikes
UserStats // 1-
Stats //
User
. , , UML, , UML. , , , - .
.Calc
, , . . , . , , .. . “” , - , 0 1 . PDF , Adobe Acrobat Reader, . .Calc
( calculators).
, . , , , , . , “ - ? ?”
- , - . . .
.Models
.Models
, -, , , . , Team, ID
Name
. , , , , ”” . 2- , User , .
- , . - , , , .
, . , presenter.Submit(input)
clientValidator.Validate(input)
, “-” , .
“” , UI “”.

, , , , , , .. . - . . , , Ms Excel. - UI, , . , , - Html, Pdf, Rtf, Json, Xls .

, , .
.Tech
, , . , , - - . , , , , . “ ” , , , .
, . , , “” .. .Dev
. IO , .
, , - ? Money? ? , , Options? - , Context - MoneyContext, OptionsContext ..
MVC, MVP, MVVM
MVC, MVP MVVM , .. ( ) . , , , “” - . , , . - .
, , - . . , . , “ !”, . “ ”, “ ”, “ ”. , - .
, “” - “”. - , - - ( , ), .

, , “ ?”. . , “” . , - .
, , , - . , , , - , - . , - , "" . , .
p.s. C !