Ola pessoal,Recentemente apresentei em sala de aula dicas rapidassobre desenvolvimento de software. Ao final da aula, pude perceber que as dicasapresentadas foram bastante satisfatorias para os alunos e gerou discussoes saudaveisno grupo. Deste modo, pensei em trazer essas discussoes para este blog, na finalidadede agregar a comunidade de desenvolvedores e talvez dar continuidade aosdebates.Para iniciarmos, trouxe uma dica que acredito ser utilpara todos que um dia precisou compartilhar classes e metodos assinados comointernos (Internal) com diferentes assemblies.Lembrado que todas as classes e, ou metodos assinadoscom a palavra reservada Internal, sopoderao ser acessadas por objetos implementados no mesmo arquivo (assembly).Contudo, em alguns contextos, se faz necessariocompartilhar classes internas encapsuladas em arquivos com outros arquivos (assembly). No entanto, somente com arquivos "confiaveis" ou estrategicos e nao todos,sendo assim nao vamos modificar a assinatura de todo o pacote, visto que queremossomente compartilhar esses recursos com o especifico assembly (ies).Para isso, o .NET fornece no assemblymscorlib.dll no pacote (namespace) System.Runtime.CompilerServices a classeInternalsVisibleToAttribute. Este atributo permite ao desenvolver expor classese metodos assinados como internos para diferentes assemblies.Para testar, crie dois projetos (Projeto.LibraryInterno)e (Projeto.Parceiro). No primeiro projeto (Projeto.LibraryInterno), implementea classe pessoa, conforme codigo abaixo:// Assembly Projeto.LibraryInterno.dll namespace library.Entidades{ internal class Pessoa { internal void Andar() { } private void Comer() { } public void Dormir() { } }}No segundo projeto (Projeto.Parceiro), referencie oprimeiro projeto e tente utilizar a classe Pessoaescrita no projeto referenciado. Seguindo todas as instrucoes deste post, aotentar compilar, voce recebera o erro CS0122.Portanto, para permitir que o projeto parceiro tenhaacesso aos objetos encapsulados com privilegios restritos aos recursos internosdo assembly Projeto.LibraryInternal.dll, inclua no arquivo AssemblyInfo.cs doprimeiro projeto a instrucao abaixo:[assembly: InternalsVisibleTo("Projeto.Parceiro")]Pronto, basta voltar ao projeto parceiro, tentarcompilar novamente e neste momento ja temos acesso atodos os recursos internos do arquivo Projeto.LibraryInternal.dll.Qualquer duvida, envie um comentario neste post.Ate a proxima dica.Flavio Mariotti Tecnologia e o mercado financeiroSegundo Copeland e Weston [5], no mercado financeiro as pessoas e entidades podem negociar titulos financeiros, commodities, mercadorias como metais preciosos, produtos agricolas, entre outros. Pilbeam [12] diz que mercado financeiro e qualquer operacao relacionada a dinheiro. Mercado de credito e o nome dado a parte do sistema financeiro em que ocorre o processo de concessao e tomada de credito, sendo identificado como uma das subdivisoes do mercado financeiro [6]. O mercado de credito vem crescendo anualmente no Brasil, consequencia disto, as instituicoes financeiras precisam de mais agilidade e eficiencia em seus processos de gestao do credito. Porem a necessidade de rigor na concessao de credito aumenta de maneira proporcional [14]. Para o Banco Central do Brasil [1] o credito no Brasil corresponde a quase 50% do Produto Interno Bruto (PIB).Uma das consequencias desse cenario e o rapido endividamento das familias brasileiras devido ao uso do cheque especial e dos cartoes de credito. Entre 2009 e 2010, as operacoes com cheque especial avancaram 23%, e com cartao de credito 22% [8]. Isto posto, a tecnologia se torna uma poderosa ferramenta de auxilio para instituicoes financeiras suportarem os novos desafios originados desse crescimento. Contudo, o mercado de credito imobiliario e de automoveis requerem sistemas mais flexiveis as mudancas de negocios e