Principios de Diseño Orientado a Objetos (OOD)

Posted by Gabriel on August 16th, 2009

Siguiendo con esas cosas que todos deberían saber…pero que muchos no comprenden totalmente:

Robert Martin, mejor conocido como Uncle Bob, explica de manera muy clara los principios básicos de diseño orientado a objetos. No solo es necesario poder recitar estos principios, sino que hay que entenderlos y poder explicar las razones de su importancia.

Precisamente de este articulo que voy a poner la liga, cito un párrafo que es muy cierto:

“All too often today’s programmers are unaware of the principles that are the foundation of the disciplines that their languages were derived around.”

Los primeros 5 principios son los famosos SOLID (que en muchas ocasiones les tocará leer el acrónimo en artículos) y son orientados a diseño de clases. Los 3 siguientes son orientados a Cohesión de librerías de código, y los últimos 3 son orientados a dependencias entre librerías de código.

Los principios SOLID:

  • Single Responsibility Principle (SRP)
  • Open-Closed Principle (OCP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)

Incluso cada uno de los principios está claramente explicado y disponible para bajarse en PDF por separado. La siguiente es la liga:

The principles of Object Oriented Design, by UncleBob

Voy por la certificacion de Microsoft Certified Professional Developer

Posted by Gabriel on August 15th, 2009
Microsoft Learning

Microsoft Learning

Tiene años, probablemente fue en el 2005 o 2006, que presente el examen de Web Applications en .NET y consegui ser MCP. Definitivamente el puro título ha abierto muchas puertas, asi que creo que iré por una certificación un poco más completa y extensa.

La certificación de Microsoft Certified Professional Developer (MCPD) es la que me llama la atención, especificamente la especializada Enterprise Application Developer 3.5 on Visual Studio 2008.

Tiene 5 examenes de MCTS (Microsoft Certified Technology Specialist) como pre-requisito, y el examen de MCPD es el PRO: Designing and Developing Enterprise Applications Using the Microsoft .NET Framework 3.5 (70-565).

La lista de examenes requisito para ser Entrerprise Application Developer:

MCPD Enterprise Application Developer Exam List

MCPD Enterprise Application Developer Exam List

Voy por el primero, el Application Development Foundation…voy a leer el material y presentar un examen de prueba en TestKing, espero para Octubre-Noviembre ya haber pasado ese.

Tres buenos libros para aprender .NET y ASP.NET

Posted by Gabriel on August 8th, 2009

Ultimamente en el trabajo he entrevisando a varios desarrolladores candidatos a unirse a la empresa, que dicen han trabajado en proyectos relacionados con sitios de ASP.NET, pero que dificilmente podían explicar el ciclo de vida de una pagina en ASP.NET, o que no saben explicar exactamente que es el ViewState y otras features basicas de .NET en general.

Decidí escribir este post para recomendar estos tres libros, que creo que son los primeros que leí sobre .NET y que considero me dieron ventaja sobre otros candidatos al presentarme a alguna entrevista de trabajo. Estos libros son relativamente baratos y definitivamente pueden cambiar tu carrera. Si apenas vas empezando a aprender .NET o si simplemente quieres volverte un mejor programador, te recomiendo estos libros. Puede que sea una inversion al principio, pero los reviews de estos libros hablan por sí solos, y creo que el costo de estos se regresa inmediatamente al conseguir un trabajo gracias a lo aprendido por ellos.

Sams Teach Yourself ASP.NET 3.5 in 24 Hours

Sams Teach Yourself ASP.NET 3.5 in 24 Hours

El primer libro se llama Sams Teach Yourself ASP.NET 3.5 in 24 Hours. Lo que me gustó es que como el titulo del libro lo indica, dividen el contenido en lecciones cortas pero completas que puedes aprender en un dia.  Trata principalmente los conceptos básicos de .NET y ASP.NET. El autor es Scott Mitchell, tambien relacionado con el sitio 4GuysFromRolla.com que fue de los primeros en proporcionar articulos muy completos sobre .NET. El libro cuesta $23 USD en Amazon.

ASP.NET 2.0 Website Programming: Problem - Design - Solution (Programmer to Programmer)

ASP.NET 2.0 Website Programming: Problem - Design - Solution (Programmer to Programmer)

El segundo libro es ASP.NET 2.0 Website Programming: Problem – Design – Solution (Programmer to Programmer). Este libro enseña a diseñar sites de ASP.NET de principio a fin, desde la arquitectura general hasta las features más especificas de interfaz de usuario, y explica cada decision que se toma. Se tratan y explicas temas como el Provider Model, ASP.NET Membership, ASP.NET Health Monitoring, MasterPages,  Webparts, databound controls, etc. El proyecto/sitio que se desarrolla con las lecciones de este libro se llama The BeerHouse, una combinacion de CMS (Content Management System)  e E-Comerce, y es una solución tan bien diseñada que posteriormente se convirtió en un Starter Kit de ASP.NET, promocionado en el mismo site de ASP.NET de Microsoft. Muchos desarrolladores junior simplemente adoptan el estilo de desarrollo de la empresa para la cual trabajan, sin cuestionar o aprender la base sobre el por qué se hacen las cosas de esa manera, y este libro explica la razon de decisiones sobre aspectos como arquitectura de la aplicación, clases base, estrategias de Caching, etc. Definitivamente lean este libro, escrito excelentemente por Marco Bellinaso. Cuesta $26 dolares en Amazon.

ASP.NET 3.5 Unleashed

ASP.NET 3.5 Unleashed

ASP.NET 3.5 Unleashed es el último libro, y es como la biblia (1920 páginas) de ASP.NET. Siempre que necesitaba hacer algo muy específico en ASP.NET y no sabía como, en este libro lo encontraba. Este libro cuesta un poco mas, $40 dolares, pero como dije al principio, los reviews hablan por si solos.

Fundamentos de Programacion – Libro ebook gratis

Posted by Gabriel on August 3rd, 2009
CodeBetter Logo

CodeBetter Logo

Karl Seguin, blogger de CodeBetter.com, acaba de actualizar su serie de articulos convertidos a Ebook, llamado Foundations Of Programming.

El libro trata temas como:

  • Principios ideales de programación como YAGNI (You Aren’t Going to Need It), DRY (Don’t Repeat Yourself), Continuous Integration, Coupling, etc.
  • Domain Drive Design (DDD)
  • Dependency Injection
  • Unit Testing
  • Object Relational Mappers (ORMs)
  • Exception Handling.
  • Mocking

Y más. El libro es bueno, y definitivamente creo que cualquiera de nosotros conoce la mayoría de los temas del libro, pero definitivamente se puede sacar mucho provecho de esta publicación que Karl se tomó el tiempo de hacer.

Ya sea que domines varios de estos temas y quieras familiarizarte con uno que no conoces, o que no sepas sobre arquitectura en general y quieras aprender, este libro te puede ayudar.

Esta serie de aprendizaje también incluye una aplicación de muestra, llamada Canvas Learning Application, que implementa varios de los principios de programación que se enseñan en el libro. Esto para los que nos gusta aprender de manera más practica, analizando código.

Las ligas al ebook y a la aplicación:

Foundations Of Programming (PDF)

Foundations Of Programming (DocX)

Canvas Learning Application (Sample Application)

Espero les sirva.


Copyright © 2007 Gabriel Rodriguez Plancarte. All rights reserved.