---
title: "\"Design-val\", var ska jag lägga metoderna?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/155881-design-val-var-ska-jag-lägga-metoderna"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Compusa"
published: "2007-01-11T17:04:50.000Z"
updated: "2007-01-12T14:22:43.000Z"
replies: 1
views: 351
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/155881-design-val-var-ska-jag-lägga-metoderna"
---

# "Design-val", var ska jag lägga metoderna?

## #1 — Compusa, 2007-01-11T17:04Z

Jag håller på med ett spel i Java och jag är nästan klar. Jag skulle dock behöva lite hjälp med ett design-val. Jag har en klass som heter Point, vilken representerar en koordinat. Mitt GUI representerar koordinater på ett sätt och i mina andra klasser representerar jag det på ett annat sätt. I mitt GUI fångar jag upp koordinater när användaren skapar drag-and-drop händelser med musen.

Förtillfället har jag två stycken metoder i min koordinat-klass. Den ena metoden konverterar från GUI-format till intern-format och den andra metoden gör tvärtom. Jag tycker det känns lite dumt att ha dessa metoder här eftersom denna koordinatklassen blir ganska GUI-specifik.

Jag har funderat på att göra en ny klass, kanske en factory-klass som skapar mina koordinater istället. Denna factory-klass kan sedan ha metoder med olika parametrar för att skapa nya koordinat-objekt. Ett annat alternativ skulle kunna vara att skapa en klass som heter något i stil med CoordinateConverter som har två statiska metoder, vilka konvertera koordinaterna.

Vilken lösning låter bäst, eller finns det kanske ett annat och bättre sätt att lösa det på?

Permalänk: https://www.webforum.nu/p/155881

## #2 — Lime, 2007-01-12T14:22Z

Grundregel nummer ett när det gäller OO-programering är "den som använder det, implementerar metoden". I ditt fall så är Point bara en databärare och ska bara innehålla de metoder som gäller för just Point. Andra klasser som använder sig av Point-objekt kan mycket väl implementera metoder för att konvertera till andra format. T.ex. så kan en klass GUIPoint ta en Point i sin konstruktor och modellera om den på något sätt för att passa...

Permalänk: https://www.webforum.nu/p/1920230

---

Tråden på webben: https://www.webforum.nu/amne/java/155881-design-val-var-ska-jag-lägga-metoderna
