Your SlideShare is downloading. ×
0
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Arquitectura organica
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Arquitectura organica

944

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
944
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Ágil, emergente Arquitectura orgánica
  • 2. SOA
  • 3. Normalization By Synthesis Invoice{ InvoiceId:Integer InvoiceLine{ ProductId:Integer ProductName:VarChar ProductPrice:Money ProductNumberOfItems:Integer } } create table Invoice ( InvoiceId Integer ) create table InvoiceLine ( InvoiceId Integer, ProductId Integer, ProductName VarChar, ProductPrice Money, ProductNumberOfItems Integer, )
  • 4. But, then a you add "definition " with the name "Product" (in another file in the same project): Product{ ProductId:Integer ProductName:VarChar ProductPrice:Money }
  • 5. create table Invoice ( InvoiceId Integer ) create table InvoiceLine ( InvoiceId Integer ProductId Integer ProductNumberOfItems Integer } create table Product ( ProductId Integer ProductName VarChar ProductPrice Money )
  • 6. • The normalization is correct, and the initial input is "more intuitive" for people not familiarized with normalization rules: • The developer only needs to think about one particular view/perspective/transaction at a time • First the hierarchical structure of the Invoice, pretty much as it appears from the end user perspective, and then think only about data that describes a Product, also pretty much as conceptualized by an end user with no formal training of database normalization. • This does not mean this is a tool to be used by end users, but it does means that it is going to be a lot easier for the developer doing the modeling to use the UbiquitousLanguage to design the database model (and to validate it with the user) • Another advantage of this way of describing the databases, is that the code that was originally written to deal with the view/transaction "Invoice" is not altered when the view/transaction "Product" is added to the project, and therefore the code is not affected by changes in the underlying structure of the database (multiplicity changes do not have a damaging ripple effect on the code of the application).
  • 7. If it had a solution it some one had already fixed it? void hello(String? name) { if (exists name) { print("Hello, ``name``!"); } else { print("Hello, world!"); } }
  • 8. Gracias Piensa en global, actua local, busca efecto emergente

×