Arquitetura de aplicativo universal





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. ( ) . .





. “ ” . “ ” . - . , “” .  , , , , .





A importância das instruções

, () - . , - . , 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 !








All Articles