2009-08-07 11 views
5

Pracuję nad elastyczną aplikacją GUI, która może mieć ~ 12 różnych układów. Te układy są dobrze zdefiniowane i nie ulegną zmianie. Każdy układ składa się z wielu widgetów, które łączą się z biblioteką DLL za pomocą wzorców bitowych. Podczas gdy większość widżetów jest taka sama, użyte wzorce bitowe różnią się w zależności od prezentowanego typu interfejsu.XML kontra twardy interfejs?

Mój instynkt gut powinien korzystać z dziedziczenia: zdefiniuj ogólny "Panel" i podaj podklasy dla różnych konfiguracji. Istnieją jednak części interfejsu zdefiniowane przez użytkownika i określone w pliku XML.

Czy cały panel powinien być zdefiniowany w formacie XML, czy tylko w sekcjach skonfigurowanych przez użytkownika?

Odpowiedz

10

YAGNI: Zaprojektuj swoje ekrany do aktualnych wymagań, które nie są specjalnie stan się zmieni. Jeśli w ciągu roku linia będzie wymagać więcej personalizacji, dostosuj ją do potrzeb użytkownika, a następnie zmień ją na , a następnie.

KISS: Jeśli używasz wyników XML w mniej ogólnym kodzie i jest prostsza niż podklasy, użyj XML. Jeśli podklasy skutkują mniejszym kodem, użyj podklasy. Doświadczenie podpowiada mi, że podklasowanie jest prostsze.

1

Mam wrażenie, że powinieneś zrobić wszystko, co da ci większą elastyczność, aby zmienić zdanie, dodać nowe funkcje lub dostosować układ w przyszłości.

+5

Niebezpieczna porada. Program w czasie przyszłym, tak, ale zawsze preferując elastyczność, może stworzyć koszmar utrzymania bez rzeczywistych korzyści. – gimpf

Powiązane problemy