| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2009 23:44:25
|
FredMP
JavaBaby
![[Avatar]](/images/avatar/5f0453f78909173a7ce2eb874d2a7f52.png)
Membro desde: 08/04/2006 19:46:24
Mensagens: 92
Localização: São Pedro da Aldeia - RJ
Offline
|
rodrigoy wrote:c. Faço uma query na UI usando Scriptlet...
Nem tinha reparado nessa opção!
rodrigoy wrote:
FredMP wrote:
Embora isso possa não ser de todo verdade, pois podem haver outras formas de se indisponibilizar um quarto além da reserva, como colocá-lo em manutenção ou interditá-lo talvez.
Isso não está nos requisitos!
Acredite... esse requisito irá aparecer logo logo!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2009 23:48:28
|
MarceloAraujo
What is classpath?
![[Avatar]](/images/avatar/f119102d0355bf1f5ec71ff016c84466.jpg)
Membro desde: 01/05/2008 20:08:30
Mensagens: 6
Localização: Rio de Janeiro
Offline
|
rodrigoy wrote:
MarceloAraujo wrote:Não tem essa opção, mas...pq não hotel.getQuartosDisponiveis(periodo):Quartos ?
Parece ser mais coerente com o negócio e também com a OO.
Marcelo, se você for nessa linha de pensamento um monte de coisas irão ser questionada para o Hotel. E outra: Já parou para pensar que isso é um Singleton? Quem dá a instância de Hotel?
Hotel é o domínio que estou modelando. Neste caso, me é estranho ter um elemento Hotel dentro do domínio Hotel.
Ok. A minha intenção foi dizer q nenhum dos 2 repositórios parece ser o responsável por responder quais quartos estão disponíveis num período de tempo. Isso partindo do princípio que vão existir os 2 repositórios que você mencionou e que TodosQuartos conhece apenas os Quartos que o hotel tem e TodasReservas conhece apenas Reservas e seus respectivos Quartos reservados.
Faz sentido todasReservas saber algo sobre os quartos q não estão reservados, num determinado período de tempo?
Ou então todosQuartos saber algo sobre período de tempo, que é uma característica de reserva?
Sendo assim você vai precisar de alguém que assuma a responsabilidade de subtrair os ""quartos reservados para o período informado", da "listagem geral de quartos do hotel" e com isso ter em mãos a lista de quartos disponíveis para o período. Ou seja, alguém que tenha acesso aos 2 repositórios que você criou ou alguém que assuma a responsabilidade de lidar com os dois domínios (Reserva e Quarto) quando eles estão associados e também quando não estão.
Pelo menos é o que me vem a mente agora
|
Marcelo C. Araújo
http://twitter.com/marceloaraujo
http://www.timebox.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 08:54:55
|
fantomas
GUJ Master
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
Membro desde: 24/04/2008 16:10:55
Mensagens: 1506
Localização: Terra (maior parte do tempo)
Offline
|
Quando alguem quer fazer uma viagem e está enteressado em fazer uma reserva fala com quem no hotel?
Setor / departamento / alguem / etc... que cuida das reservas certo? Me avise se eu estiver enganado.
Portanto a minha primeira intenção seria colocar esta responsabilidade no repositório que controla as reservas.
flws
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 09:32:47
|
Link_pg
JavaEvangelist
![[Avatar]](/images/avatar/4cea2358d3cc5f8cd32397ca9bc51b94.jpg)
Membro desde: 28/04/2006 00:17:38
Mensagens: 413
Localização: Praia Grande / São Paulo - SP
Offline
|
Olá! Imaginemos como isso seria feito manualmente: um quadro na parede com vários quadradinhos, cada um representando um quarto existente no hotel. Em cada quadradinho, haveria 3 informações básicas: o número do quarto, o tipo (simplesinho, fodão, mais ou menos) e o preço da diária. _________________ |__|__|__|__|__|__| |__|__|__|__|__|__| |__|__|__|__|__|__| Beleza, agora imagine que quando alguém vai lá e pede pra reservar o quarto, a moça da recepção pegue um post-it e escreva: o nome do cara que reservou e o período da reserva. Após fazer isso, ela vai no quadradinho que representa o quarto que o fulano escolheu e cola o post-it. Como ela faria pra dizer quais quartos estão disponíveis? Contaria todos os quadradinhos que não houvessem post-it's colados. Agora, tirando o meu da reta, como traduzir isso pro sistema? aheuheauauhe Uma pergunta: o quarto terá uma reserva ou uma reserva terá um quarto? Abraços
This message was edited 1 time. Last update was at 12/08/2009 09:37:37
|
Eduardo Felipe Vieira
Blog de Tecnologia!
Outro blog meu legal também mas não é de TI.
"Nós poderíamos ser muito melhores se não quiséssemos ser tão bons." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 10:26:06
|
fantomas
GUJ Master
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
Membro desde: 24/04/2008 16:10:55
Mensagens: 1506
Localização: Terra (maior parte do tempo)
Offline
|
link_pg wrote:Olá!
Imaginemos como isso seria feito manualmente: um quadro na parede com vários quadradinhos, cada um representando um quarto existente no hotel. Em cada quadradinho, haveria 3 informações básicas: o número do quarto, o tipo (simplesinho, fodão, mais ou menos) e o preço da diária.
_________________
|__|__|__|__|__|__|
|__|__|__|__|__|__|
|__|__|__|__|__|__|
Beleza, agora imagine que quando alguém vai lá e pede pra reservar o quarto, a moça da recepção pegue um post-it e escreva: o nome do cara que reservou e o período da reserva. Após fazer isso, ela vai no quadradinho que representa o quarto que o fulano escolheu e cola o post-it.
Como ela faria pra dizer quais quartos estão disponíveis? Contaria todos os quadradinhos que não houvessem post-it's colados. Agora, tirando o meu da reta, como traduzir isso pro sistema? aheuheauauhe
Uma pergunta: o quarto terá uma reserva ou uma reserva terá um quarto?
Gostei...primeiro o negócio (o sistema) depois a tecnologia. Seria ótimo se alguem soubesse como a coisa toda funciona na realidade.
Respondendo: Na minha opinião, detesto ter que "achar" alguma coisa em sistemas mas vamos lá senão não tem brincadeira, a reserva é uma entidade constituida pela uma associação do quarto com "quem" é dono da reserva (fora outros detalhes). O quarto "X" tem uma reserva seria uma resposta "construida/deduzida" pelo modelo. Na verdade os quadradinhos (idéia bacana essa) seriam as reservas ao meu ver.
flws
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 11:05:10
|
luistiagos
GUJ Expert
![[Avatar]](/images/avatar/98785ca89cfbbe933921bfe68a94553b.jpg)
Membro desde: 10/07/2006 10:37:23
Mensagens: 3009
Offline
|
Realmente acho que a opção 1 seria a mais correta...
pois a reserva pode tornar um quarto indisponivel... a reserva conhece o quarto e o quarto não conhece a reserva porem ele pode saber se ele (o quarto) esta ou não disponivel. E vejamos o seguinte... mesmo que não esta no escopo que uma manutenção por exemplo possa indisponibilizar um quarto hoje... nada impede que amanha este requisito apareça... e se deixarmos esta responsabilidade para a reserva se um dia surgir a manutenção tamo tudo fu***... pois a manutenção desta arquitetura nos dara mais dor de cabeça... Não se pode esquecer que um dos requisitos de uma boa app é ela ter a capacidade de extensão e nunca de alteração...
|
SCJP 1.5
SCJA 1.0
IBM DB2 Associate |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 12:00:11
|
king_of_gods
JavaTeenager
Membro desde: 28/03/2007 14:28:11
Mensagens: 185
Offline
|
1º Opção.
Como já falaram o quarto tem que saber responder se ele está ocupado ou não.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 13:35:45
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
MarceloAraujo wrote:
Sendo assim você vai precisar de alguém que assuma a responsabilidade de subtrair os ""quartos reservados para o período informado", da "listagem geral de quartos do hotel" e com isso ter em mãos a lista de quartos disponíveis para o período. Ou seja, alguém que tenha acesso aos 2 repositórios que você criou ou alguém que assuma a responsabilidade de lidar com os dois domínios (Reserva e Quarto) quando eles estão associados e também quando não estão.
A pergunta é: As reservas (que podem ser abstraídas como uma caixinha com Index Cards que ficam lá na recepção) conhecem todos os quartos?
|
Rodrigo Yoshima
www.ASPERCOM.com.br
Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro
Débito Técnico Blog: blog.aspercom.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 13:39:12
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
Link_pg wrote:
Imaginemos como isso seria feito manualmente: um quadro na parede com vários quadradinhos, cada um representando um quarto existente no hotel....
Link, não vejo que é uma boa opção persarmos em Domain-Driven só imaginando como o usuário faria na mão. Isso vai gerar abstrações pobres na minha opinião.
Mas na sua idéia, quem saberia se o quarto está reservado ou não para um período? A caixinha que representa o quarto ou os post-its?
Imaginem o conjunto de quartos como os quartos fisicos mesmo (aonde estão as camas, o frigobar e etc...). Eles sabem se as reservas existem ou não?
|
Rodrigo Yoshima
www.ASPERCOM.com.br
Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro
Débito Técnico Blog: blog.aspercom.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 13:53:12
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
luistiagos wrote:Realmente acho que a opção 1 seria a mais correta...pois a reserva pode tornar um quarto indisponivel... a reserva conhece o quarto e o quarto não conhece a reserva porem ele pode saber se ele (o quarto) esta ou não disponivel.
Não pode não... isso pode gerar uma dependência desnecessária.
luistiagos wrote:
E vejamos o seguinte... mesmo que não esta no escopo que uma manutenção por exemplo possa indisponibilizar um quarto hoje... nada impede que amanha este requisito apareça... e se deixarmos esta responsabilidade para a reserva se um dia surgir a manutenção tamo tudo fu***...
E aquele papo esperto de YAGNI? Simplicidade?
luistiagos wrote:
pois a manutenção desta arquitetura nos dara mais dor de cabeça... Não se pode esquecer que um dos requisitos de uma boa app é ela ter a capacidade de extensão e nunca de alteração...
Introduzir dependência desnecessária é o que ferra a sua arquitetura... O quarto, no mundo real, nunca sabe se ele está em manutenção ou não (o diagrama acima não muda o problema original, só postei aqui como ficaria a solução menos acoplada para a questão "quartos em manutenção" - não vamos complicar ainda mais a discussão).
Saber os quartos disponíveis tem mais a ver com quartos ou com Reservas?
This message was edited 1 time. Last update was at 12/08/2009 13:56:43
|
Rodrigo Yoshima
www.ASPERCOM.com.br
Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro
Débito Técnico Blog: blog.aspercom.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 14:00:02
|
tnaires
GUJ Master
![[Avatar]](/images/avatar/5f6371c9126149517d9ba475def53139.png)
Membro desde: 22/12/2003 08:05:58
Mensagens: 1634
Localização: Natal - RN
Offline
|
rodrigoy wrote:Saber os quartos disponíveis tem mais a ver com quartos ou com Reservas?
Acho que tem mais a ver com reservas. Ao contrário da maioria, não acho adequado um quarto saber se está reservado ou não. Fico com a opção dois.
|
Tarso Nunes Aires
Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 14:15:11
|
fantomas
GUJ Master
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
Membro desde: 24/04/2008 16:10:55
Mensagens: 1506
Localização: Terra (maior parte do tempo)
Offline
|
rodrigoy ,
Acho que o luistiagos se referiu a manutenção do sistema e não ao quarto do hotel.
flws
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 14:18:26
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
luistiagos wrote:
E vejamos o seguinte... mesmo que não esta no escopo que uma manutenção por exemplo possa indisponibilizar um quarto hoje... nada impede que amanha este requisito apareça... e se deixarmos esta responsabilidade para a reserva se um dia surgir a manutenção tamo tudo fu***...
Não não, fantomas, ele foi claro, certo luistiagos?
(inclusive naquela parte do fu****)
|
Rodrigo Yoshima
www.ASPERCOM.com.br
Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro
Débito Técnico Blog: blog.aspercom.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 14:23:32
|
fantomas
GUJ Master
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
Membro desde: 24/04/2008 16:10:55
Mensagens: 1506
Localização: Terra (maior parte do tempo)
Offline
|
Verdade, havia me esquecido desta parte.
Valeu!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2009 14:48:23
|
ercardoso
Debugger
![[Avatar]](/images/avatar/7dd21654ce1c39ec7632d219e8e71f11.jpg)
Membro desde: 28/09/2006 15:51:27
Mensagens: 59
Offline
|
Eu ficaria com o Repository de Reservas, considerando em minha opinião que temos Reservas com informações de quais os quartos reservados em determinados periodos.
|
http://vertocardoso.wordpress.com |
|
|
 |
|
|