Skip to content

Instantly share code, notes, and snippets.

public class You {
private ICar myCar;
public You(ICar car)
{
myCar = car;
}
public void Drive(IList<Person> passengers, Location destination)
{
public class You {
private Car myCar = new Car();
public void Drive(IList<Person> passengers, Location destination)
{
foreach (var passenger in passengers)
myCar.AddPassenger(passenger);
myCar.Drive(destination);
}
@kevinpang
kevinpang / gist:1917961
Created February 26, 2012 17:55
ApplicationEndRequest
protected void Application_EndRequest()
{
// Make sure to dispose of NHibernate session if created on this web request
ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects();
}
@kevinpang
kevinpang / gist:1917947
Created February 26, 2012 17:51
ApplicationStart2
protected void Application_Start()
{
ControllerBuilder.Current.SetControllerFactory(new StructureMapControllerFactory());
ObjectFactory.Initialize(x =>
{
// ISessionFactory is expensive to initialize, so create it as a singleton.
x.For<ISessionFactory>()
.Singleton()
.Use(CreateSessionFactory());
@kevinpang
kevinpang / gist:1917946
Created February 26, 2012 17:51
CreateSessionFactory
public static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2005.ConnectionString(c => c.FromConnectionStringWithKey("InsertConnectionString")))
.Mappings(m =>
{
// Include both standard NHibernate mapping files and Fluent NHibernate mapping files
m.HbmMappings.AddFromAssemblyOf<User>();
m.FluentMappings.AddFromAssemblyOf<User>();
})
@kevinpang
kevinpang / gist:1917944
Created February 26, 2012 17:50
ApplicationStart
protected void Application_Start()
{
ControllerBuilder.Current.SetControllerFactory(new StructureMapControllerFactory());
}
@kevinpang
kevinpang / gist:1917941
Created February 26, 2012 17:50
StructureMapControllerFactory
public class StructureMapControllerFactory : DefaultControllerFactory
{
public override IController CreateController(RequestContext requestContext, string controllerName)
{
try
{
var controllerType = base.GetControllerType(requestContext, controllerName);
return ObjectFactory.GetInstance(controllerType) as IController;
}
catch (Exception)
@kevinpang
kevinpang / gist:1914619
Created February 26, 2012 07:05
Better commenting
// square root of n with Newton-Raphson approximation
r = n / 2;
while ( abs( r - (n/r) ) > t ) {
r = 0.5 * ( r + (n/r) );
}
@kevinpang
kevinpang / gist:1914606
Created February 26, 2012 06:59
Bad commenting
r = n / 2; // Set r to n divided by 2
// Loop while r - (n/r) is greater than t
while (abs( r - (n/r) ) > t) {
r = 0.5 * ( r + (n/r) ); // Set r to half of r + (n/r)
}
@kevinpang
kevinpang / gist:1088913
Created July 18, 2011 08:38
Ruby Koans 2
# Greed is a dice game where you roll up to five dice to accumulate
# points. The following "score" function will be used to calculate the
# score of a single roll of the dice.
#
# A greed roll is scored as follows:
#
# * A set of three ones is 1000 points
#
# * A set of three numbers (other than ones) is worth 100 times the
# number. (e.g. three fives is 500 points).