2013

Composite Pattern: Handling child node collections

One problem related to composite pattern is how to implement operations over child collections. Composite classes have children and leaf classes not. There are many ways how to solve the problem of where and how to keep child nodes collection. In this posting I go through different options and analyze those solutions through different code examples.

IFileClient – Generalizing storage access in ASP.NET web applications

This is one of the examples from my presentation about how to port existing ASP.NET applications to Windows Azure and how to build hybrid applications that work in multiple environments. One of important aspects is file storage that may have multiple implementations for different technical environments. In this posting I will introduce you my idea about generalized file access in web applications.

Generalizing storage access for Windows Phone and WinRT apps

When building application that works both on WinRT and Window Phone you use Portable Class Libraries (PCL) for shared classes. As there are many application specific things that are not same on different platforms or that are not supported by PCL then you have to make some architectural decisions when creating shared functionalities. In this posting I will focus on persisting data for offline use.

Composite Pattern

Composite pattern is used in many applications. It helps to build hierarchies of similar objects and handle slices of hierarchy as one. Maybe one of the most popular implementation of this pattern in .NET world is Nodes collection of ASP.NET TreeView control. In this posting I will introduce you composite pattern and provide some implementation tips and samples about it.

Why professional in-house content management matters?

Managing content on professional level in company’s intranet and extranet sites is very important. Often companies underestimate the importance of information quality and instead focusing on improving it they try to find other ways how to make people use materials provided through these sites. In this posting I will go through main problems related to […]

Mixing Command and Transaction Script Patterns

Patterns of Enterprise Applications Architecture by Martin Fowler defines Transaction Script pattern that is one of domain logic patterns. In his book Martin Fowler also gives a hint how to use Command Pattern by Gang of Four with Transaction Script. In this posting I will show you some real-life code that makes use of both patterns.

Why not use polling threads with ASP.NET web applications?

Often developers ask how to add polling, scheduled tasks and so on to ASP.NET web applications. There are many ways how to do it and there are even more reasons why not to do it. Let’s see what are the problems and how to build services for your web applications wherever they run.

Working at home

Working at home is modern way to work but it is often very challenging too. Over years I have heard different stories from different people about working at home. Some of there people have been successful on it while others went back to office quickly after couple of days of trying. Let’s see what makes working at home challenging and what you need to get your home office running.

Using web.config transforms with App.config files

In one of my projects I needed configuration transforms similar to web applications. But I needed transforms for command line and Windows service applications to make sure that with release builds some settings are different (by example, web service URL-s and some other settings). I found some materials from web and got everything work well. Here is how to enable web.config transforms for App.config files too.

First look at Visual Studio Online “Monaco”

With Visual Studio 2013 Microsoft also announced online version of Visual Studio for Windows Azure Web Sites. When I first saw SharePoint Napa tools and “powered by Vsiual Studio” slogan then I knew that soon Visual Studio is on cloud. Now Microsoft made their next step. Let’s see what Visual Studio Online with codename “Monaco” is and what you can do with it.

Ten keys to successful outsourcing

It’s business Tuesday again and this time I will share with you some of my experiences on getting started with successful outsourcing. Outsourcing may sound like something simple or something too troublesome but if you do your home work well then it is possible to succeed and have a cooperation that really makes your life more rich by many aspects you maybe don’t expect at first. Here are some of my experiences.

Using Surface RT for presentations

Last week I made presentation about out-sourcing where I introduced my international teams and our working model. This time I didn’t took my work laptop with me because I decided to go with my Surface RT and see how it works for business presentations. Okay, it’s a little bit tricky to get everything done but it’s nothing too complex. This posting is short overview about my findings on using Surface RT as presentation machine.

Software rescue services

Time for business Tuesday post. Source code gets rotten, systems get slower, every fix takes a lot of time, estimates for implementing new functionalities get more and more utopic, customers are mad, users are mad, developers are exhausted – struggling with problem like this? Maybe it’s time to use some software rescue services?

Command Pattern

Command pattern is object behavioral design pattern that helps you handle different activities in application using same interface. I’m Command pattern is object behavioral design pattern that helps you handle different activities in application using same interface. I’m using Command Pattern in some of my systems to handle similar actions together and to split more comples operations to smaller steps by example. In this posting I will give you overview of Command Pattern.

Moving to SharePoint (My Way)

Let’s start with my Business Tuesday series where I introduce my business and how we work. Moving to SharePoint can be done many ways but most of them guarantee you any success on it. SharePoint is technically complex platform and those sad businesses and techies who start fighting with it will usually loose the battle. But how to move to SharePoint the way you get results instead of bad headaches? This is how I do it.

Transaction Script Pattern

Transaction Script (TS) is the simplest domain logic pattern we can find. It needs less work to implement than other domain logic patterns and therefore it’s perfect fit for smaller applications that doesn’t need big architecture behind them. This posting focuses on TS pattern by illustrating and analysing it. Also some good hints for implementation are provided.

Microsoft .NET: Architecting Applications for the Enterprise

Enterprise applications need good architecture to survive ever-changing demands of customers. At same time these systems must be stable, convenient and easy to use which leads us to need of good architecting skills. Some customers need desktop applications while others need web-based and mobile applications. Making good architectural decisions is not easy and this is […]

Using web.config transforms with NLog configuration

I’m building a web based hybrid system that can run on-premises and on cloud. On development machine I want NLog to write logs on disk. When system is deployed to cloud I want NLog to write logs to Windows Azure Table storage. In this posting I will show you how to use web.config transforms with NLog configuration.

Design Patterns: Elements of Reusable Object-Oriented Software

Design Patterns is golden classics of software design books written by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (aka Gang of Four – GoF). When this book was published first it was revolutionary because it contained still undocumented knowledge from software development field that needed some systematic work and organization on it. Today we see these patterns in many programs and developers on different platforms are more and more aware of these first defined design patterns. If you are software developer then this is must-have book for you.

Previous Posts