Skip to content

Instantly share code, notes, and snippets.

@ralfw
Created January 1, 2012 15:59
Show Gist options
  • Save ralfw/1547657 to your computer and use it in GitHub Desktop.
Save ralfw/1547657 to your computer and use it in GitHub Desktop.
Einfaches FlowDesign Beispiel - Summe und MwSt
using System;
namespace Summation
{
class MainClass
{
public static void Main (string[] args)
{
var frontend = new Frontend();
var rechenwerk = new Rechenwerk();
frontend.Nettobetrag += rechenwerk.Summieren;
rechenwerk.Bruttosumme += frontend.Ausgabe;
frontend.Run();
}
}
}
using System;
namespace Summation
{
class Frontend {
public void Run() {
while(true) {
Console.Write("Nettobetrag: ");
var eingabe = Console.ReadLine();
if (eingabe == "") break;
var nettobetrag = float.Parse(eingabe);
Nettobetrag(nettobetrag);
}
}
public event Action<float> Nettobetrag;
public void Ausgabe(float bruttosumme) {
Console.WriteLine(" Bruttosumme: {0}", bruttosumme);
}
}
}
using System;
namespace Summation
{
class Rechenwerk {
public void Summieren(float nettobetrag) {
var nettosumme = Berechne_Nettosumme(nettobetrag);
var mwstSumme = Berechne_Mehrwertsteuer(nettosumme);
var bruttosumme = Berechne_Gesamtsumme(nettosumme, mwstSumme);
Bruttosumme(bruttosumme);
}
public event Action<float> Bruttosumme;
float _nettosumme;
float Berechne_Nettosumme(float nettobetrag) {
_nettosumme += nettobetrag;
return _nettosumme;
}
float MWST_SATZ = 0.19f;
float Berechne_Mehrwertsteuer(float netto) {
return netto * MWST_SATZ;
}
float Berechne_Gesamtsumme(float netto, float mwst) {
return netto + mwst;
}
}
}