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


Mer funderingar kring DDD.

Postades av 2006-11-29 09:37:35 - Marcus Johansson, i forum arkitektur, Tråden har 2 Kommentarer och lästs av 1383 personer

Har följande scenario. En viss program modul har en modulKategori.
Jag använder modulens repository för att fylla dennas kategori objekt då modulen laddas.
Enligt kod nedan.

Har funderingar på om det är bättra att göra denna laddning vi modul entiteten?
Alltså via dess property typ; minModule.Category? (Är det det som kallas lazy load?)
fördelar nackdelar?

Nästa fundering gäller själva frågan mot DAL.
Är det bättre att baka ihop dessa två anrop, alltså fråga för att hämta modul data och dess kategoridata då detta görs i SpecificModuleRepository.


<code>
public class SpecificModuleRepository : ModuleRepository
{

public SpecificModuleRepository ()
{

}
public override Module Load(int moduleId)
{


using (SqlDataReader dbR = new .....)
{
specificModule = this.Factory.Create(dbR);
}

if (specificModule != null)
{
if (specificModule.StandardCategoryCid > 0)
{
specificModule.Category = this.LoadCategory(specificModule.StandardCategoryCid);
}
}
return myModule;
}


protected override ModuleCategory LoadCategory(int categoryId)
{
ModuleCategoryRepository moduleCategoryRepository = new ModuleCategoryRepository();
return moduleCategoryRepository.Load(categoryCid);
}
}



public class SpecificModule : Module
{

....

public override ModuleCategory Category
{
get
{
return m_ModuleCategory;
}
set
{
m_ModuleCategory = value;
}
}

}

</code>


Svara

Sv: Mer funderingar kring DDD.

Postades av 2006-11-29 10:16:53 - Johan Normén

Hej

Lazy Load är som du säger när man laddar nått så fort man accessar det.
Ex.

Order.OrderLines <- Har man många OrderLines och använder Order ofta där du inte har nytta
av OrderLines lika ofta är det rätt onödigt att kanske fylle dennqa varje gång, då kan man istället
göra så att OrderLines fylls när man gör en get mot den.

Det finns många tankar hur man kan lösa detta snyggt. Antingen göra en OrderLineRepository som man
nyttjar i sin entitet (blir hårdare koppling då).

Eller så gör man en transparant hnatering för att läsa in Repositories.
Man man använda AOP för att automatisera det med. Ettt trevligt ramverk som jag vet har detta implementerat är NPersist saker.

Skrev en liten post för ett bra tagsedan om Lazy Load vet ej om det ger nått men du kan titta på den om du vill.
<a>http://www.johannormen.com/blog/viewpost.aspx?PostID=111</a>

Ang fråga två är jag inte helt med, troligen för att jag inte vet riktigt vad modul o kategori symboloserar i ditt system.

Men om Module är en etitet och aggregat root så bör denna ha sin egna Repository är det samma med Cartegory bör den ha sin egna Repos. Men är Category en Associasion för Module kan ModuleRepository ha i uppgift att läsa upp Category.

mvh Johan


Svara

Sv:Mer funderingar kring DDD.

Postades av 2006-11-29 13:34:45 - östen petersson

vi hade en kille här för länge sen som gillade lazy loads

han la lazyloads i proeprtys med tanken då att de bara skulle anropas när de behövdes
det är väl ok i teorin
men när han sen jobbade med andra objekt och andra kom och implementerade hans objekt i något annat sammanhang och anropade dessa properties som om de vore de facto properties så blev både webserver och sqlserver ledsen

with lazyload comes great responsibility - use it wisely :)


Svara

Nyligen

  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant

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 570 900
27 965
271 779
581
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