Delegates

TAKEN FROM C# In Depth Third Edition 

A delegate in C# acts like your will does in the real world – it allow you to specify a sequence of actions to be executed at the appropriate time.

In order for a delegate to do anything, four things need to happen:

  • The delegate type needs to be declared
  • The code to be executed must be contained in a method
  • A Delegate instance must be created
  • The delegate instance must be invoked

Continue reading →

Software Development is THE Hardest Thing to Explain

Explaining what you do to none software literal people is the hardest thing to do. Now that’s quite a bold statement as everything can be simplified into some simpler form; we connect this box to this box, we pass this bit of information to that place.

camera

However, it starts to become more complex when the person you’re talking to has a bit more of an understanding of the subject matter. Continue reading →

What is the difference between Inheritance and Polymorphism

First off, what are inheritance and polymorphism?

Taken from one of my favorite books- The Object-Oriented Thought Process by Matt Weisfield, the two areas are described as:

Inheritance – A Class can inherit from another class and take advantage of the attributes and methods defined by the superclass.

Polymorphism – Similar objects can respond to the same message in different ways. For example you might have a system with many shapes. However, a circle, square and a star are each drawn differently. Using polymorphism, you can send each of these shapes the same message ( draw) and each shape is responsible for drawing itself.

So, what is the difference?

Inheritance inherits it behavior from its parent class (although it can always rebel and do different things)  – it is a ‘Is a relationship’

Polpymorphism dictates that the behavior isn’t confirmed until run time of the application.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
 class Program
 {
  static void Main(string[] args)
  {

   Bird MotherHen = new Hen("Mother Hen");
   MotherHen.Fly();
   MotherHen.Peck();

   Bird chick1 = new Chick("Chicken Little");
   chick1.Fly();
   chick1.Peck();

   Bird Kiwi = new BadEgg("Bruce");
   Kiwi.Fly();

   Bird Puppet = new Orville();
   Puppet.Fly();
   Puppet.Peck();

   Console.ReadLine();
  }
 }

 public abstract class Bird
 {
  public abstract void Peck();
  public abstract void Fly();
 }

 class Orville : Bird
 {
  string name = "Orville";
  public override void Peck()
  {
   Console.WriteLine(string.Format("{0} - Doesn't eat as its a puppet", name));
  }

  public override void Fly()
  {
   Console.WriteLine(string.Format("{0} - as a its a puppet", name));
  }
 }

 class Hen : Bird
 {

  public string name { get; set; }
  public Hen()
  {
   name = "Bob";
  }

  public Hen(string Name)
  {
   name = Name;
  }

  public override void Peck()
  {
   Console.WriteLine(string.Format("{0} - Peck Peck", name));
  }

  public override void Fly()
  {
   Console.WriteLine(string.Format("{0} - fly not far", name));
  }
 }

 class Chick : Hen
 {

  public Chick(string chickName)
  {
   name = chickName;
  }

  public override void Fly()
  {
   Console.WriteLine(string.Format("{0} - Flew over the hen house", name));
   base.Fly();
  }

  public override void Peck()
  {
   Console.WriteLine(string.Format("{0} - Peck Burp Churp", name));
  }

 }

 class BadEgg : Hen
 {

  public BadEgg(string chickName)
  {
   this.name = chickName;
  }

  public override void Fly()
  {
   Console.WriteLine(string.Format("{0} - as a Kiwi cannot fly",name));
  }

 }
}

As you can see the different types of bird implement behavior differently, but they all come from the same base class. It is at run time that the program decides which one to run. – Polymorphism

The inheritance example in the above is when the fly method is called within Chick – it does a bit of its won thing, but then passes it back up the chain to “Mum” to handle as well.

 

 

Scrum Working Normally

Structure of the Scrum Team

  • Scrum Master –  (Removes Noise/ Blockers and Shields the team from distractions)
  • Tester  –  (Provides independent test that validates / supports the development work performed by the Development Team )
  • Developers
  • Product Owner
  • Test Team
  • Technical Project Manager

Scrum Team Primary Contacts In A Project

  • Product Owner
  • Test Team
  • Technical Project Manager

What Scrum Team does  / What the Scrum Team doesn’t do Continue reading →

Azure Media Services

Overview

Azure Media Service (AMS) is a product offered by Microsoft on the Azure Platform. Its aim is to facilitate:

  • On Demand Live Streaming
  • Media Platform in the Cloud
  • Extensible multi-tenant media service. (Single instance of a software application serves multiple customers.)
  • A simple rest API (Application Program Interface) for Developers to code against.
  • A secure storage for media content which is encrypted when you up load content to the server.
  • Encoding and packaging of media in multiple formats
  • Media can be delivered to any device. Microsoft have highlighted Windows 8, iOS, Xbox, HTML5, Windows Phone, Silverlight and Flash.

Continue reading →