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


Logiken ska vara var?

Postades av 2008-07-25 12:42:40 - Magnus Hallberg, i forum c# (c-sharp), Tråden har 5 Kommentarer och lästs av 1002 personer

Jag tjatar på om objektorientering, nån gång ska det väl fastna:)

Jag har följande klass
<code>
public class Blogs
{

public int BlogID { get; set; }
public Guid UserID { get; set; }
public string UserName { get; set; }
public string BlogName { get; set; }
public string BlogDesc { get; set; }
public DateTime BlogStart { get; set; }

public Blogs(string _blogName, string _blogDesc, string _userName)
{
this.UserName = _userName;
this.BlogName = _blogName;
this.BlogDesc = _blogDesc;
}

public Blogs()
{
//
// TODO: Add constructor logic here
//
}
}
</code>

Var kör jag logiken? Är det i set eller i konstruktorn? Egentligen ska jag väl göra dbanropet i denna klass också? Det ska väl ske från samma ställe som logiken?

Hoppas ni inte tröttnar på detta tjat:(


Svara

Sv: Logiken ska vara var?

Postades av 2008-07-25 12:56:36 - Samuel Adolfsson

Om du behöver någon form av logik för t.ex username så lägg det i set.

Db-anrop, t.ex så här:

Blog b = facade.getblogbyid(1);
Blog[] b = facade.getallblogs();

där facade anropar databas.getblogbyid() som anropar en sp eller någon orm-wrapper.

.. men det finns förstås väldigt många olika sätt facade är ju inte helt nödvändigt, OO är överskattat :)


Svara

Sv: Logiken ska vara var?

Postades av 2008-08-14 11:27:17 - Fredrik Dyrwoolf

Gör du ett större projekt så föreslår jag att du delar upp det enligt:

Värdeobjekt -> Alla klasser som är håller värden, exempelvis en klass blogg som kanske har variablerna, _bloggID, _anvandarID, _rubrikText, _brodText(oftast rena speglingar ifrån databasklasserna)

Affärslogik -> här gör du all logik

Databaslager -> det är härifrån och endast härifrån du accesar databasen. Detta lagret fyller dina värdeobject ifrån databasen och sedan tar värdeobject som indata och spara ner det till databasen.
Du kan även skriva specailklasser här för att spara data, detta för fall där du saknar värdeobjekt.

Skall du göra något mindra så kan du klämma in allt i en klass, men jag rekomenderar att du bryter ut logik och databasanrop i olika funktioner i alla fall. Det kommer bli mycket enklare och överskådligare.
Och att du ändå fundrar över att ha värdeobjekt som du jobbar mot.
/Fredrik


Svara

Sv:Logiken ska vara var?

Postades av 2008-08-14 21:50:58 - Andreas Öhlund

Om du praktiserar Domain Driven Design så bör din logik ligga i metoder på klassen. Men ev. databasanrop bör ligga i s.k. repositories.

http://en.wikipedia.org/wiki/Domain-driven_design

Jag kan tipsa om en bra metod för att dela in koden i olika lager som kallas "Onion Architeture" som funkar rätt bra:

http://jeffreypalermo.com/blog/the-onion-architecture-part-1/


Lite övriga synpunkter:

Du bör kanske överväga att byta namn från Blogs till Blog(för det verkar vara logik rörande en specifik blog du syftar på) för då blir koden naturligare att läsa:

Ex: IList<Blog> blogs = new List<Blog>();

Om du kör .Net 3.5 så kan du skippa din konstruktor och använda "object initializers" i stället.


Svara

Sv: Logiken ska vara var?

Postades av 2008-08-17 00:44:11 - Johan Normén

Det finns massa olika skolor ang vart logik skall ligga. O avsett design arkitektur så föredrar jag att man separerar DB från entitet. Dvs din Blog lever själv med sina tillstång frikopplat från annan tung logik så som exempelvis Data access... Detta för att få en frikopplad modell för att i framitden om behövs enkelt ändra datakälla, men samtidigt öka en viss återanvändbarhet...

Så jag hade i ditt fall gjort en egen klass som returnerar din bliog med fyllda tillstånd från en annan klass och denna klass skall även vara den som har hand om updatering, radering, sparning av ditt objekt.

Jag föredrar domian driven design som egentligen inte är något spec mer än vad skall man kalla det riktlinjer, idér och guideline för att få en bra OOP design och implementation. I detta fall skulle jag bygge en BlogRepository klass som ger dig den blog entiet du vill ha. Reposiroyn själv ser till så din blog fylls med rätt data. Antingen via ORM ex NHibernate eller LINQ to SQL eller manuell mappning mot exc en SQLDataReader.

Mvh Johan


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 707
27 958
271 751
816
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