Hogyan kell helyesen tervezzen egy osztályt kell tartalmaznia kettős nyelvű információ

szavazat
2

Ha a tartomány objektumot kell tartalmaznia húr ingatlan 2 nyelven, célszerű létrehozni 2 különálló ingatlan, vagy hozzon létre egy új típusú BiLingualString?

Például a növényi besorolás alkalmazását, a növény tartomány objektum tartalmazhat Plant.LatName és Plant.EngName.

A számos kétnyelvű tulajdonságait az egész tartomány nem nagy, kb 6-8, azt kell csak támogassa a két nyelven, információkat kell bemutatni, hogy a felületen egyaránt nyelven egyidejűleg. (tehát ez nem locallization). A követelmények nem fog változni a fejlesztés során.

Úgy tűnhet, mint egy egyszerű kérdés, de ez a döntés lesz hatással a hitelesítési, lebomlásuk, tárgy klónozás és sok más dolog.

Negatív oldala tudok gondolni segítségével új dualString típusa:

  • Ellenőrzés: Ha én fogom használni DataAnattations, Enterprise Library érvényesítési blokk, légjáratos érvényesítés ez több munkát igényel, objektum gráfot érvényesítése nehezebb, mint egyszerű tulajdonság érvényesítése.
  • Állandósága: iether NH vagy EF több munkát igényel bonyolult tulajdonságait.
  • OOP: bonyolultabb objektum inicializálása, azt meg kell inicializálni az új Írja kivitelező, mire lehet használni azt.
  • Építészet: konvertáló tárgyak eljuttatja őket rétegek között nehezebb, auto térképészeti eszközöket igényel több kézi munkát.
A kérdést 12/06/2011 14:16
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
5

Olvasás közben a kérdéses gondolkodtam why not localizationminden alkalommal, de amikor olvastam information should be presented to UI in both languages at the same time.azt hiszem, van értelme használni tulajdonságait.

Ebben az esetben mennék egy osztály, egy húr az egyes nyelvek, ahogy már említettük BiLingualString

public class Names
{
    public string EngName {get;set;}
    public string LatName {get;set;}
}

Akkor szeretném használni ezt az osztályt a fő Plant osztály, mint ez

public class Plant: Names
{

}
Válaszolt 12/06/2011 14:28
a forrás felhasználó

szavazat
4

Ha 100% -ban biztos, hogy mindig csak a latin és az angol én csak kibír legegyszerűbb megoldás - 2 húr tulajdonságait. Azt is rugalmasabb UI majd miután BiLingualString. És akkor nem kell foglalkozni a komplex típusú, amikor fennáll.

Válaszolt 12/06/2011 14:29
a forrás felhasználó

szavazat
2

Ahhoz, hogy segítsen eldönteni, azt javaslom, tekintve, hogy ez a viselkedés konzisztens lesz minden rétegében. Ha ki ezeket két külön tulajdonságokat az üzleti objektumon, azt is elvárják, hogy azt tárolni, két különböző oszlopok adatbázisrekordok például ahelyett, két fordítás a telken tárolt külön táblázatban. Ez nem tűnik furcsának, hogy tárolja fordítások ilyen módon, de az indoklások hangzik ésszerű, és a 6. tulajdonságok nem un-menedzselhető. De biztos, hogy nem áll szándékában, hogy adjunk több nyelven a jövőben.

Ha azt várod, hogy ez a rendszer valamivel dinamikus, azaz akkor kell hozzá egy másik nyelvet egy bizonyos ponton, úgy tűnik, hogy több értelme számomra, hogy végre ez másképp, így nem kell megváltoztatni a séma, amikor egy új nyelvet támogatni kell.

Azt hiszem, a dolog az egyensúly ez: úgy a valószínűsége annak, hogy állítsa be a nyelvek vagy tulajdonságainál egy új nyelvet ellen előny (egyszerűség kedvéért) nyersz kiteszik ezeket közvetlenül külön tulajdonságokkal ahelyett betölteni fordítások külön szinten .

Válaszolt 12/06/2011 14:31
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more