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


Lite info om objektorienterat.

Postades av 2003-06-17 12:53:52 - Göran Persson, i forum c# (c-sharp), Tråden har 3 Kommentarer och lästs av 835 personer

Är inte så haj på detta med classer och objektorienterat språk. Men är det inte så att objekt är saker och dessa saker representeras av classer?? Men när man laddar ner ex ett class bibliotek så inehåller det massa klasser som snarare fungerar som funktioner. Hur lägger man upp ett classbibliotek, hur struktureras det, vad ska man tänka på?
Vilken typ av kod ska man köra inne i självaset projektet och vilken bör man lägga som externa .dll filer? Har hållit på med ett projekt ett tag nu men det börjar bli lite för stort nu måste ta och strukturera upp det på något sätt. Någon som har några förslag?

MVH Göran P


Svara

Sv: Lite info om objektorienterat.

Postades av 2003-06-17 13:39:49 - Fredrik Normén

>Men är det inte så att objekt är saker och dessa saker representeras av classer??

Ett objekt är en instans av en klass. Klassen beskriver objektets egenskaper och uppförande, tex med property och metoder etc.

>Hur lägger man upp ett classbibliotek, hur struktureras det, vad ska man tänka på?

Du skapar enkelt ett Klass bibliotek genom att du skapar ett Class Library projekt i Vs.Net. Du döper ditt bilbiotek till det namespace du vill ha, detta för att du slipper manuellt gå in och förändra namespacet på alla klasser som du sedan lägger till (Ok, det går att göra detta enkelt genom att gå in på properties för projektet och skriva in vilket namespace den ska använda sig av som standard.) Namespace ska vara ett unikt namn som du kan använda dig av för att tex kategorisera/gruppera dina klasser etc. Det du behöver tänka på är att inte har ett namespace som slutar med samma namn som någon av dina klasser som ligger inom namespacet tex: Namespace MyCompany.MYProdukt.User så skapa inte en klass som heter User här under.
I SDK:n finns det en developers guidelines som beskriver detta och förslag på hur du kan namnge klasser, variabler etc.

Öppna .Net Framwork SDK och gå till:
.Net Framwork SDK/References/Design Guidelines for Class Library

Tycker jag att du ska läsa. Ett klassbibliotek resulterar sedan att bli en egen dll (Assemlby).

Om du skapar ett projekt och du vill gruppera klasser i egan klass bibliotek så skulle jag rekommendera att du skapar en solution där du lägger upp flera de klassbiblioteks projekt som du vill ha och refererar till dom genom en projekt refenrece. Om ändå din applikation ska använda sig av de klasser som ligger i klassbibliotekten så är det onödigt att skapa solutions för varje klass (Alltså skapa upp assemblys separat, du kallar dom kanske för externa dll:er), kan även vara onödigt att skapa klassbibliotek för vissa mindre applikationer. Men med hjälp av klassbiliotek så kan du strukturera upp dina applikationer bättre. Ett exempel är att du skapar ett klassbibliotek per lager du använder dig av, tex ett klass bibliotek för datalagret där du har dina Data Access klasser och en för ditt affärslager där du har dina affärslogiks klasser etc. Tänk på att om du skapar för många klassbilbiotek så har du många dll:er som du måste hålla reda på.

Hoppas detta kan hjälpa dig något när det gäller att strukturera dina applikationer.

Andra tips när det kan vara bra att skapa Class library.

* När du ska lägga en assembly i GAC:en då måste den ha ett strong name.
* När du ska anvädna dig av Enterprise Services (COM+)

Det beror helt och hållet på va du ska bygga för lösning och hur den ser ut.
Samt lite tycke och smak.

/Fredrik N


Svara

Sv: Lite info om objektorienterat.

Postades av 2003-06-17 14:25:34 - Johan Normén

Bara ett litet tips hur di ev identifierar de klasser du vill ha i ett OO baserat system.
Skriv ner ett Usecase som förklarar en händelse.
Ex.
En spelare kastar två träningar, om resultatet blir 7 har man vinnut annars inte.

Nu gäller det att plocka ut verklighetsbaserade objekt. (Substantiven i texten ger hjälp)
"Spelare,träning"
Sedan kan du plocka ut verben för att ev identifiera verkliga händelser.
"Kasta"

Du har då två objekt "Spelare och Tärning" sedan händelsen "kasta"

Spelare --> Kastar ---> Tärning

Nu behöver man gå lite djupare ner och identifiera vad det är som ev kastar tärningarna, i vår värld blir det vi själva men i datans värld är det ju ett spel.

Spel --> Starta Spel --> Kastar --> 2*Tärning

Nu har vi hittat Spel klass samt Tärnings klass.
Spel hade metoden StartaSpel och tärning Kasta. En tärning har ju oxå sidor med nummer, och eftersom vi måste ha ut ett reultat så passa attributet SidNummer in ganska bra i klassen tärning, Eftersom dessa klasser hör ihop så blir ett bra namespece ex: Mitt.TärningSpel och båda klasserna kan läggas i en och samma DLL då de tillhör samma kategori eller namnrymd eller vad man vill kalla det.

Kod exempel:
<code>
public class Spel
{
public void StartaSpel()
{
Träning tärning1 = new Tärning();
Träning tärning2 = new Tärning();

tärning1.Kasta();
tärning2.Kasta();

if(tärning1.SidNummer + tärning2.SidNummer == 7)
Colsole.WriteLine("Du vann!");
else
Colsole.WriteLine("Du förlorade!");
}
}

public class Tärning
{
public int SidNummer;

public void Kasta()
{
... Någon random metod av något slag...
SidNummer = Resultat;
}
}
</code>

Detta var bara ett snabbt utkast på hur du kan identifiera dina klasser. Sedan hur du delar upp assemblys m.m. är en annan historia, tror Fredrik Hade en bra förklaring som kan hjälpa dig. Att lära ut OO samt design är inte lätt i ett forum. Jag föreslår att du läser en del böcker om ämnet. Särkilt då det kräver en annan tanke gång som man oftast inte är van vid.

Hoppas detta gav dig lite info. Du kanske redan hade koll på detta?

//Johan N


Svara

Sv: Lite info om objektorienterat.

Postades av 2003-06-17 14:55:35 - Niklas Jansson

Annars brukar man ju sammanfatta det så här (även om jag personligen känner visst obehag på tanken):
Skriv ner allt som programmet skall göra, ganska detaljerat.
Stryk under alla substantiv ("substantiv är namn på ting, såsom klocka, boll och ring" =) )
Det är dina klasser.

Kolla sen på alla verb. Det är dina metoder.

--

Sen brukar man väl iofs försöka komma på vad substantiven består av, om man kan dela in de i grupper, osv. och på det sättet göra relationer. T.ex. "Bla, bla, bla...bilar...lastbilar...personbilar..."
Hmm... alla lastbilar är ju bilar, och det är personbilar också. En Är-En-relation, alltså, som representeras genom ett publikt arv. (nu är jag ute på djupt vatten, kan inte c# tillräckligt bra).


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 155
27 952
271 704
835
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