Mensagens recentes por magno machado
16 mensagens
|
16 mensagens
3 horas atrás
|
Fórum: arquitetura – Discussão: hashbang nas URLs Pelo que entendi, a history api apenas vai te ajudar a gerar entradas de histórico sem precisar gerar uma nova requisição ao servidor. Mas para dar alguma funcionalidade a estas entradas no histórico, vai ser necessario javascript e possivelmente ajax, exatamente como seria usando hashbang. Você falou algumas coisas que acho que não procedem. Olha por exemplo este site, feito em GWT: http://examples.roughian.com/index.htm#Home Ele carrega em uma única página. Conforme você navega nos menus, ele gera entradas no histórico usando hash (#) sem recarregar a página. Agora use o botão de voltar do navegador, viu que funciona normalmente? Agora salva qualquer página destas nos favoritos e tenta acessar… Acessou a página correta? Poisé… |
|
16 mensagens
3 horas atrás
|
Fórum: arquitetura – Discussão: hashbang nas URLs “Quando o usuário clicar no link, será usado javascript para renderizar o conteudo novo dinamicamente, e HistoryAPI para mudar a URL sem recarregar a pagina.” |
|
16 mensagens
4 horas atrás
|
Fórum: arquitetura – Discussão: hashbang nas URLs Pelo que entendi a questão Hashbang x HTML 5 History API no final se resume a ter ou não dois caracteres estranhos na URL (Claro que isso tem outras implicações, mas por hora não vem ao caso), pois de qualquer forma você vai precisar de Javascript para carregar o conteúdo apropriado via AJAX de acordo com o estado definido na URL, e vai precisar de suporte no lado servidor para permitir indexação, ou falei besteira? Digo isso em se tratando de aplicações altamente dinamicas, onde onde os estados são alternados sem usar page reloads, pois é disso que a citada proposta do Google trata Claro que é melhor uma solução padronizada, que não implique em caracteres extras na URL. Fica melhor visualmente, mais legivel e não sofre do problema relatado no post do Adriano Almeida de se um dia você resolver abandonar o hashbang e usar uma alternativa. Mas tem que se levar em conta que nem todos os navegadores suportam estes recursos html5. Já o hashbang…………….. |
|
16 mensagens
5 dias atrás
|
Fórum: arquitetura – Discussão: Nomes de classes, métodos e atributos em português “Com o tempo, vários métodos/variáveis tinham erros de ortografia e diversos tinham traduções “forçadas” que ficariam bem melhor em português. Não é tão simples quanto parece…a maioria não esta acostumada.” Entretanto, já tive projetos totalmente em ingles, inclusive comentarios e documentação. Acho que é algo para se analisar caso a caso |
|
16 mensagens
8 dias atrás
|
Fórum: arquitetura – Discussão: Nomes de classes, métodos e atributos em português Normalmente eu uso em português tudo que for diretamente relacionado ao domínio do sistema, e inglês no restante. Já trabalhei em projetos usando tudo em inglês (incluindo o domínio) e achei péssimo. Alguns termos são de dificil tradução, muitos termos mal traduzidos, termos traduzidos de várias formas diferentes, etc. Em alguns casos você tem que parar o trabalho pra pesquisar qual o correspondente em inglês para uma determinada expressão, e isso não é legal. Já para o restante dos nomes é o contrario: Em ingles me parece mais legível, mais natural. |
|
16 mensagens
1 mês atrás
|
Fórum: arquitetura – Discussão: Branches e Scrum Uma pergunta: Você precisa MESMO de branches? |
|
16 mensagens
3 meses atrás
|
Fórum: arquitetura – Discussão: Implementação de MVP em Swing Estou iniciando um projeto desktop em Java/Swing e estou tentando utilizar o padrão MVP para organizar as telas. Alguem conhece algum framework pronto para MVP em Swing? Por enquanto estou implementando o meu próprio mesmo. No caso, o presenter precisa acessar a view para atualizar o seu estado eventualmente, por isso os presenters possuem uma referencia à sua view. Para ficar tipado, utilizei generics e com isso a minha classe Presenter (da qual todos os presenters herdam) ficou assim: 1 public class Presenter<VIEW extends View> { 2 3 private final VIEW view; 4 5 public VIEW getView() { 6 return view; 7 } 8 9 public Presenter(VIEW view) { 10 this.view = view; 11 } 12 13 }Acontece que a view tambem precisa acessar o presenter para notifica-lo de ações do usuário (exemplo: clique em um botão), então a view ficou declarada assim: 1 public interface View<PRESENTER extends Presenter<?>> { 2 void show(); 3 void setPresenter(PRESENTER presenter); 4 PRESENTER getPresenter(); 5 }Aí já vem uma questão: Há uma dependencia cíclica entre presenter e view. Como vocês veem isso? Eu deveria evitar? Pensei em criar uma outra interface, a ser implementada no presenter, e que seria de conhecimento da view (portanto a view não iria mais conhecer o presenter). Quando necessario, a view invoca métodos nesta interface para notificar o presenter. Mas não sei se isso traria alguma vantagem, creio que só iria trazer mais complexidade. Um outro problema: Para não ter que implementar os métodos getPresenter e setPresenter em todas as classes que implementam views, eu criei uma classe padrão para implementações de views, a qual ficou assim: 1 public abstract class BaseJFrameViewImpl<PRESENTER extends Presenter<?>> extends JFrame implements View<PRESENTER> { 2 3 private PRESENTER presenter; 4 5 public void setPresenter(PRESENTER presenter) { 6 this.presenter = presenter; 7 } 8 9 public PRESENTER getPresenter() { 10 return presenter; 11 } 12 13 }E agora um exemplo disso sendo utilizado: 1 public interface LoginView extends View<LoginPresenter> { 2 3 } 4 5 public class LoginViewImpl extends BaseJFrameViewImpl<LoginPresenter> implements LoginView { 6 }Como podem ver, na declaração da interface LoginView eu tive que especificar que o presenter utilizado é o LoginPresenter. E na hora de declarar a implementação dessa view, eu tive que repetir esta informação, isso ficou um tanto estranho para mim. Alguma dica de como organizar melhor isso? Ou será que estou me preocupando demais com coisas sem importancia? |
|
16 mensagens
5 meses atrás
|
Fórum: arquitetura – Discussão: TDD em objetos que não retornam nada O método não retorna nada, mas deve ter efeitos colaterais (ex: altera o estado do objeto de alguma forma). Você deve testar se estes efeitos estão ocorrendo |
|
16 mensagens
5 meses atrás
|
Fórum: arquitetura – Discussão: Como realizar testes automaticos neste caso Renato, é uma opção mt interessante! Esse teste seria efetuado em cima da dll já compilada, é isso mesmo? Nesse caso dispensaria a necessidade de testes de unidade? |
|
16 mensagens
5 meses atrás
|
Fórum: arquitetura – Discussão: Como realizar testes automaticos neste caso Estou utilizando C++ para desenvolver uma dll que deve se comportar da seguinte forma: No final, há uma função da dll que quando chamada irá pegar todos os logs gerados anteriormente e vai gravar em um arquivo. Como posso escrever um teste automatizado para isso? Inicialmente eu pensei em gerar manualmente um arquivo com o mesmo formato que a dll deve produzir, com algumas entradas de log. Depois eu chamo as funções da dll que produziriam os logs correspondentes e compararia o arquivo produzido pela dll com o arquivo que eu mesmo gerei manualmente. Mas como preciso logar os instantes das chamadas, isso não funcionaria. Alguma outra ideia? Creio que não seria muito complexo testar isso a nível de unidade. Acham que seria necessario escrever testes tambem em cima da dll já compilada, só para garantir que todas as funções estão sendo exportadas corretamente? |
|
16 mensagens
6 meses atrás
|
Fórum: arquitetura – Discussão: Controladores em sistemas desktop Puxa vida, então à partir de agora só vou me comunicar via texto :) |
|
16 mensagens
6 meses atrás
|
Fórum: arquitetura – Discussão: Controladores em sistemas desktop Eu sempre tive essa dúvida, a a resposta me veio quando passei a utilizar os frameworks de MVP do Google Web Toolkit (que diga-se de passagem, tem um modelo de desenvolvimento muito parecido com desktop). Usa-se um objeto (que lá é chamado de PlaceManager) que irá receber as requisições para abrir novos forms. Dessa forma os controllers ficam bem desacoplados e fica mais facil testar essa interação entre diferentes forms. |
|
16 mensagens
6 meses atrás
|
Fórum: arquitetura – Discussão: Injeção de Dependência em C# qual melhor opção? No Delphi muitas vezes eu crio os mocks na unha mesmo, sem framework. Não se compara com a facilidade de usar algo como o Mockito, mas é o que posso fazer pra me virar por enquanto. E no Delphi 2009 voce já tem métodos anônimos, o que já ajuda um pouquinho |
|
16 mensagens
6 meses atrás
|
Fórum: arquitetura – Discussão: Injeção de Dependência em C# qual melhor opção? Tambem já testei o PascalMock e tambem não gostei, a gente tem que escrever muito código. O mock do Emballo segue uma linha muito diferente. |
|
16 mensagens
6 meses atrás
|
Fórum: arquitetura – Discussão: Injeção de Dependência em C# qual melhor opção? Alexandre, para Delphi você pode tentar este projeto http://code.google.com/p/emballo |
|
16 mensagens
6 meses atrás
|
Fórum: arquitetura – Discussão: Nomes 'complexos/descritivos' no modelo? Sou a favor de declarar nomes que explicam claramente qual o proposito daquele método ou caso de teste. No caso de testes, não tenho ressalvas quanto ao comprimento do nome, mas em código de produção procuro evitar nomes muito longos. Sim, um nome pouco expressivo dificulta o entendimento do código, mas nomes excessivamente longos tambem prejudicam bastante, ao menos para mim. A clareza é sempre prioridade |
