.
Anmeldung | Registrieren | Hilfe
in Suchen

Mal was zum schmunzeln

Letzter Beitrag 08. Aug 2010 14:34 von Rainer Hilmer. 0 Antworten.
Seite 1 von 1 (1 Treffer)
Beiträge sortieren: Zurück Weiter
  • 08. Aug 2010 14:34

    • Rainer Hilmer
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 22. Jan 2008
    • Braunschweig
    • Beiträge 927
    • Punkte 14.105

    Mal was zum schmunzeln

    using System;
    using System.Collections.Generic;
    
    
    namespace ConsoleApplication1
    {
       class Program
       {
          static void Main()
          {
             Mensch frau = new Frau();
             Mensch mann = new Mann();
             const string dasEwigeMissverständnis = "Das gefällt mir.";
    
    
             mann.Hört(mann.Sagen("Das gefällt mir")).Denkt("OK");
             mann.Verhalten();
    
    
             frau.Hört(mann.Sagen(dasEwigeMissverständnis))
                .Denkt("Er will es haben!");
    
    
             mann.Hört(frau.Sagen(dasEwigeMissverständnis))
                .Weiß("Das gefällt mir" == "Ich will das haben. Schenk es mir!");
             frau.Verhalten();
    
    
             frau.Sieht(mann.Sieht(new Frau())).Denkt("Er will sie haben!");
          }
       }
    
    
       public class Mann : Mensch
       {
          public override void Verhalten()
          {
             var etwas = Augen.SehenEtwas();
             Bedürfnis genussBedürfnis = new GenussBedürfnis(etwas);
             if(etwas.GefälltMir)
             {
                Bedürfnisse.Add(genussBedürfnis);
                if(etwas.MussBesessenWerdenUmEsZuGeniessen)
                {
                   Bedürfnis besitzBedürfnis = new BesitzBedürfnis(etwas);
                   Bedürfnisse.Add(besitzBedürfnis);
                   if(etwas.GehörtJetztMir)
                   {
                      Bedürfnisse.Remove(besitzBedürfnis);
                      Geniessen(etwas, genussBedürfnis);
                   }
                }
                else
                   Geniessen(etwas, genussBedürfnis);
             }
             else
                genussBedürfnis = null;
          }
    
    
          private void Geniessen(Etwas etwas, Bedürfnis bedürfnis)
          {
             // Add action
             Bedürfnisse.Remove(bedürfnis);
          }
       }
    
    
       public class Frau : Mensch
       {
          public override void Verhalten()
          {
             Etwas etwas = Augen.SehenEtwas();
             Bedürfnis besitzBedürfnis = new BesitzBedürfnis(etwas);
             if(etwas.GefälltMir)
             {
                Bedürfnisse.Add(besitzBedürfnis);
                if(etwas.GehörtJetztMir)
                   Bedürfnisse.Remove(besitzBedürfnis);
                /* Kein weiterer Code. Es ist völlig egal ob Frau mit dem Objekt
                 * der Begierde etwas anfangen kann. Hauptsache sie besitzt es. */
             }
             else
             {
                Nörgeln("Das gefällt mir nicht!");
                besitzBedürfnis = null;
             }
          }
    
    
          private void Nörgeln(string satz)
          {
             throw new NotImplementedException();
          }
       }
    
    
       public abstract class Mensch
       {
          protected Mensch()
          {
             Bedürfnisse = new List<Bedürfnis>();
          }
    
    
          public List<Bedürfnis> Bedürfnisse { get; protected set; }
    
    
          public abstract void Verhalten();
    
    
          public Mensch Hört(string satz)
          {
             throw new NotImplementedException();
          }
    
    
          public string Sagen(string satz)
          {
             throw new NotImplementedException();
          }
    
    
          public void Denkt(string gedanke)
          {
             throw new NotImplementedException();
          }
    
    
          public void Weiß(bool aussage)
          {
             throw new NotImplementedException();
          }
    
    
          public Mensch Sieht(object objekt)
          {
             throw new NotImplementedException();
          }
       }
    
    
       public abstract class Bedürfnis
       {
          public Etwas etwas;
    
    
          protected Bedürfnis(Etwas etwas)
          {
             this.etwas = etwas;
          }
       }
    
    
       internal class GenussBedürfnis : Bedürfnis
       {
          public GenussBedürfnis(Etwas etwas) : base(etwas) { }
       }
    
    
       internal class BesitzBedürfnis : Bedürfnis
       {
          public BesitzBedürfnis(Etwas etwas) : base(etwas) { }
       }
    
    
       public class Etwas
       {
          private bool gefälltMir;
          public bool GefälltMir
          {
             get
             {
                // Add taste
                throw new NotImplementedException();
             }
          }
    
    
          private bool mussBesessenWerdenUmEsZuGeniessen;
          public bool MussBesessenWerdenUmEsZuGeniessen
          {
             get
             {
                // Add logic
                throw new NotImplementedException();
             }
          }
    
    
          public bool GehörtJetztMir
          {
             get { throw new NotImplementedException(); }
          }
    
    
          public object Objekt { get; set; }
       }
    
    
       internal static class Augen
       {
          public static Etwas SehenEtwas()
          {
             throw new NotImplementedException();
          }
       }
    }

    Gruß,
    Rainer
    • IP-Adresse ist Registriert
Seite 1 von 1 (1 Treffer)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum