Skip to content

Instantly share code, notes, and snippets.

View melkio's full-sized avatar

Alessandro Melchiori melkio

View GitHub Profile
@melkio
melkio / WithoutFactory.cs
Created October 1, 2012 10:52
Without factory
public class Order
{
public Order(Object[] params) {}
public Order(Order parentOrder) {}
}
@melkio
melkio / WithFactory.cs
Created October 1, 2012 10:55
With factory
public class OrderFactory
{
public Order CreateNewOrder(Object[] params) {}
public Order CloneOrder(Order parentOrder) {}
}
@melkio
melkio / FactoryWithoutDSL.cs
Created October 1, 2012 12:48
Factory without DSL
var order = factory.CreateNewOrder(userId, storeId, dispatchDate);
@melkio
melkio / FactoryWithDSL.cs
Created October 1, 2012 12:52
Factory with DSL
var order = factory.CreateNewOrder(c =>
{
c.ForThisUser(userId);
c.ManagingStockFromThisStore(storeId);
c.DispatchingOrderNotBefore(dispatchDate);
});
@melkio
melkio / FactoryWithNestedClass.cs
Created October 1, 2012 13:23
Factory with nested class
public class Order
{
private Order() { }
public class Factory
{
public Order CreateNewOrder(...)
{
var order = new Order();
...
@melkio
melkio / OrderConfiguration.cs
Created October 1, 2012 13:57
Order configuration
public class OrderConfiguration
{
public Guid UserId { get; private set; }
public Guid StoreId { get; private set; }
public DateTime DispatchDate { get; private set; }
public void ForThisUser(Guid userId)
{
UserId = userId;
}
@melkio
melkio / Order.cs
Created October 1, 2012 13:59
Order
public class Order
{
private Guid _userId;
private Guid _storeId;
private DateTime _dispatchDate;
...
public class Factory
{
public Order CreateNewOrder(Action<OrderConfiguration> configurator)
@melkio
melkio / SimpleUpload.cs
Created October 22, 2012 15:16
Blob storage account
var account = CloudStorageAccount.DevelopmentStorageAccount;
var client = account.CreateCloudBlobClient();
var container = client.GetContainerReference("images");
container.CreateIfNotExist();
var blob = container.GetBlobReference("first_uploaded_file");
blob.UploadFile("file_path_to_upload");
@melkio
melkio / NestedFile1.cs
Created November 3, 2012 07:09
Upload a nested file to azure blob storage
// ...setup container
var file = container.GetBlockBlobReference("directory/nested_file");
using (var stream = new MemoryStream(File.ReadAllBytes("path_del_file")))
{
stream.Seek(0, SeekOrigin.Begin);
file.UploadFromStream(stream);
stream.Close();
}
@melkio
melkio / NestedFile2.cs
Created November 3, 2012 07:15
Upload a nested file to azure blob storage
// ...setup container
var folder = container.GetDirectoryReference("directory");
var sub = folder.GetBlockBlobReference("nested_file");
using (var stream = new MemoryStream(File.ReadAllBytes("path_del_file")))
{
stream.Seek(0, SeekOrigin.Begin);
sub.UploadFromStream(stream);
stream.Close();
}