Click here to Skip to main content
15,867,453 members

Philip Laureano - Professional Profile



Summary

Follow on Twitter      Blog RSS
18,925
Author
295
Authority
2,398
Debator
42
Editor
36
Enquirer
1,581
Organiser
1,772
Participant
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
31 Dec 2007 CodeProject MVP 2008

Groups

Below is the list of groups in which the member is participating

United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
This is a Collaborative Group
This member has Member status in this group

41 members

Reputation

Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Have the ability to send direct emails to members in the forumsProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.


 
NewsLinFu IoC 2.0 out in the repository! Pin
Philip Laureano29-Aug-08 3:10
Philip Laureano29-Aug-08 3:10 
Here[^]'s the repository link. In addition to the features from version 1.0, LinFu.IoC v2.0 supports the following features:

Constructor Injection using Fluent Interfaces.

This is what the code looked like in v1.0:

[Factory(typeof(IVehicle))]
public class CarFactory : IFactory<ivehicle>
{
   public IVehicle CreateInstance(IContainer container)
   {
      // Get an instance of the engine
      // and the driver
      IEngine engine = container.GetService<iengine>();
      IPerson driver = container.GetService<iperson>();
      Car newCar = new Car(engine, driver);

      return newCar;
   }
}
</iperson></iengine></ivehicle>


This is what it looks like in LinFu IoC 2.0:

// Configure the container inject instances
// into the Car class constructor
container.Inject<ivehicle>()
  .Using(ioc => new Car(ioc.GetService<iengine>(),
                        ioc.GetService<iperson>()))
                        .OncePerRequest();
</iperson></iengine></ivehicle>


Property Injection using Fluent Interfaces.

Here's the code in 1.0:

[Implements(typeof(IVehicle), LifecycleType.OncePerRequest)]
public class Car : IVehicle, IInitialize
{
   // … Code omitted for brevity
   public void Initialize(IContainer container)
   {
      _engine = container.GetService<iengine>();
      _person = container.GetService<iperson>();
   }
}
</iperson></iengine>


Here's the 2.0 code using Fluent Interfaces:

container.Inject<ivehicle>()
                .Using(ioc => new Car(ioc.GetService<iengine>(),
                                      ioc.GetService<iperson>()))
                                      .OncePerRequest();
</iperson></iengine></ivehicle>



In addition, LinFu.IoC v2.0 has been outfitted with a battery of automated unit tests so you'll be able to test it with confidence. It has been rewritten from the ground up to support unit tests, and if you ever get lost in the code, you'll find that almost every class, interface, method, property and enum is filled to the brim with C# XML doc comments.

I'm currently in the process of rewriting the entire LinFu library, and this should give you an idea of where things are heading with LinFu in the future. I want to thank everyone in CP for their great feedback and support, and this is my way of giving back to the other CPians who taught me the value of writing good code. Again, thanks everyone Smile | :)

Do you know...LinFu?

GeneralThe LinFu Framework is now available on Google Code! Pin
Philip Laureano15-Nov-07 16:03
Philip Laureano15-Nov-07 16:03 
GeneralRe: The LinFu Framework is now available on Google Code! Pin
Wiltek Ghozali17-Apr-08 17:13
Wiltek Ghozali17-Apr-08 17:13 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.