in

 

Browse by Tags

  • Entities and the Law of Demeter

    The Law of Demeter , and its corresponding code smell, Inappropriate Intimacy , are some of the best bang-for-your-buck code smells that you can address. The basic idea behind each of these concepts is code related to an object should probably be inside that object. It's also known as the Principle...
    Posted to Jimmy Bogard (Weblog) by bogardj on 07-07-2008
  • Designing primary keys

    When creating a primary key for a table, we have a few options: Composite key Natural key Surrogate key Each has their own advantages and disadvantages, but by and large I always wind up going with the last option. Composite keys Composite keys are primary keys made up of multiple columns. For example...
    Posted to Jimmy Bogard (Weblog) by bogardj on 06-04-2008
  • The MVC Storefront Challenge!

    In Rob Conery's recent post on the MVC Storefront example he's been working on, he got some comment to basically toss out Linq2SQL and use NHibernate instead. Blah. How about the community does it instead? I'm not looking for an us vs. them or Linq2SQL vs. NHibernate battle, more of an intellectual...
    Posted to Jimmy Bogard (Weblog) by bogardj on 05-20-2008
  • Entities, Value Objects, Aggregates and Roots

    Taking a small detour before I deliver the first installment in the Domain-Driven Design: Supple Design Patterns series, I'd like to cover the basic elements of Domain-Driven Design modeling: Entities Value Objects Aggregates and Roots I'd like to cover these aspects partially because these ideas...
    Posted to Jimmy Bogard (Weblog) by bogardj on 05-20-2008
  • Domain-Driven Design: Supple Design Patterns Series

    At last week's Austin DDD Book Club , we discussed my favorite chapter in Evans' Domain-Driven Design book : Supple Design. Modeling is an important exercise in Domain-Driven Design, but it's not enough to have a codebase that's easy to work with. In addition to designs that are easily...
    Posted to Jimmy Bogard (Weblog) by bogardj on 05-15-2008
  • Enhancing mappers with LINQ

    The "big 3" higher-order functions in functional programming are Filter, Map and Reduce. When looking at the new C# 3.0 LINQ query operators, we find that all three have equivalents : Filter = Where Map = Select Reduce = Aggregate Whenever you find yourself needing one of these three higher...
    Posted to Jimmy Bogard (Weblog) by bogardj on 05-08-2008
  • Guidelines aren't rules

    I'm a huge fan of the Framework Design Guidelines book. It provides great instruction on creating reusable libraries, based on Microsoft's design on the .NET Framework. But it's important to remember that guidelines aren't rules . Guidelines are recommendations based on a set of perceived...
    Posted to Jimmy Bogard (Weblog) by bogardj on 04-15-2008
  • Mapping options in LINQ to SQL

    A recent thread on the ALT.NET message board asked: How does everyone create the DataContext for their DB? Do you use the IDE and generate your custom .dbml (which also generates all your DTO's)? Do you use a generic DataContext object and just .GetTable<>() and create your DTO's by hand...
    Posted to Jimmy Bogard (Weblog) by bogardj on 03-18-2008
  • Moving past stored procedures

    On Chad's recent SQL-assembly comparison post , a few interesting comments caught my eye proclaiming the glory of stored procedures. From tom (no link): [Stored procedures] are not only useful for speed but also for ACID and to keep business logic in a central place. (Business logic in clients is...
    Posted to Jimmy Bogard (Weblog) by bogardj on 02-22-2008
  • Customer-facing identifiers

    I'm still installing miscellaneous drivers for my work laptop (Dell Inspiron 1501). I just downloaded an additional printer driver for an office printer, but can anyone tell me in less than 5 seconds, without Googling, which file is the printer driver? Unless you have Internet access, you'll...
    Posted to Jimmy Bogard (Weblog) by bogardj on 01-17-2008
Page 1 of 2 (16 items) 1 2 Next >
Copyright Los Techies 2007. All rights reserved.
Powered by Community Server (Commercial Edition), by Telligent Systems