Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Event mellan olika lager

Postades av 2007-02-12 11:46:01 - Anders Malmgren, i forum c# (c-sharp), Tråden har 4 Kommentarer och lästs av 579 personer

Jag följer 3 lagers principen.
Jag har ett applkationslager som gör vissa updates i vyn, vyn ska allså lyssna på events som triggas från applikationslagret.

Men jag vill inte att vyn ska känna till applikatslagret, utan den ska bara känna till facadlagret
Går det att passa vidare event från facadelagret ner i applikationslagret?

Vad jag vill är Allså att i vyn ange

FacadeLayer.OnSomeKindOfUpdate += MyEventHandler(myMethod);

men i sjävla verket
är det Applicationlayer som triggar eventen


Svara

Sv: Event mellan olika lager

Postades av 2007-02-12 14:52:51 - Niclas Pehrsson

Tja du kan ju fånga eventet i ditt fasadlager och kasta vidare ett nytt som är definerat i ditt fasadlager.


Svara

Sv: Event mellan olika lager

Postades av 2007-02-12 14:59:49 - Fredrik Lundberg

Du menar att du vill delegera en metod från ditt applager via Facade:en ut till vyn?
Typ så här?

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.IO;

namespace eventtest
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            //Skapa en instans av facade:en
            Facade f = new Facade();

            //Lyssna på event
            f.onStuffInAppHappened += new Facade.onStuffInAppHappenedEventHandler(f_onStuffInAppHappened);

            //Ropa på en metod i facaden
            f.DoStuff();
            
        }

        //Hantera eventet vi lyssnar på
        static void f_onStuffInAppHappened(object sender, EventArgs e)
        {
            MessageBox.Show("Some stuff did happen in Facade");
        }
    }

    public class Facade
    {
        private App myapp;
        
        public Facade()
        {
            //I konstruktorn kan vi göra att vi lyssnar på event från vårt applager
            myapp = new App();
            myapp.onDoStuff += new App.onDoStuffEventHandler(myapp_onDoStuff);
        }

        public void DoStuff(){
            //Ropa på dostuff i app-lagret
            myapp.DoStuff();
        }

        void myapp_onDoStuff(object sender, EventArgs e)
        {
            if(this.onStuffInAppHappened != null){
                this.onStuffInAppHappened(sender, e);
            }
        }

        public delegate void onStuffInAppHappenedEventHandler(object sender, EventArgs e);
        public event onStuffInAppHappenedEventHandler onStuffInAppHappened;

    }

    public class App
    {
        public void DoStuff(){
            //Här gör vi nog en massa spännande saker innan vi går vidare....
            //
            //


            //När vi är klara så....
            //Raise:ar vi ett event till den som nu lyssnar om nån nu lyssnar...
            if (this.onDoStuff != null)
            {
                //Här kan du istället skicka med en instans av eb egensnickrad eventargsklass
                //Istället för en EventArgs.Empty
                this.onDoStuff(this, EventArgs.Empty);
            }
        }

        //Deklaration om hur vi vill att metoden som tar emot vårt event skall se ut
        public delegate void onDoStuffEventHandler(object sender, EventArgs e);

        //Talar om att vi skapar ett event med detta
        //utseende som vi kan låta externa klasser lyssna på
        public event onDoStuffEventHandler onDoStuff;

        
    }

}


Svara

Sv:Event mellan olika lager

Postades av 2007-02-12 20:15:08 - Anders Malmgren

Jag är alldeles för trött just nu för att kolla om det är detta jag söker :D
men tackar för att du lade ner sådan tid på ett svar, ska kolla in det efter middagen...


Svara

Sv: Event mellan olika lager

Postades av 2007-02-13 21:18:52 - Anders Malmgren

Okej så man måste skapa samma event i både applikationslagret och i facaden?
Synd, men är det enda sättet så...


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 170
27 953
271 705
718
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies