2011-04-18 11 views
15

W tych dniach pracowałem z JSF, ale jest "konwencja" Mam wątpliwości, czy powinienem użyć. Podczas pracy z zarządzanymi komponentami bean ludzie określali je jako XxxxxManagedBean, gdzie prefiks może być dowolną nazwą związaną z Twoją firmą.JSF zarządzał konwencjami nazewnictwa fasoli

Czy pracowałeś tak? W szczególności nie lubię tak bardzo, mimo że wyszukiwanie jest łatwe. Czy korzystasz z innej konwencji?

Dziękuję za odpowiedź na tę prostą wątpliwość.

Odpowiedz

23

Nie ma ścisłej konwencji określonej przez sam JSF. Widziałem następujące konwencje:

  • FooBean
  • FooBacking
  • FooManager
  • FooController
  • FooManagedBean

lub nawet tylko Foo które następnie umieszcza się w specjalnym opakowaniu jak com.example.controller, com.example.backing lub nawet com.example.view, itp.

Sam używam zazwyczaj FooManager dla ziaren o zasięgu aplikacji i sesji (np. DataManager, UserManager, LocaleManager, etc), a tuż Foo lub nakazanego przez mojego obecnego projektu, FooBacking (np Login lub LoginBacking) na żądanie i widokiem scoped fasoli, z których każdy jest zazwyczaj związane z konkretnym <h:form> i/lub widoku.

FooBean jest zbyt ogólnikowy. Naprawdę wiele zajęć można oznaczyć jako javabeans. Obsługiwane przez JSF komponenty bean, jednostki JPA, EJB, obiekty przesyłania danych, obiekty wartości itp. Nazewnictwo Bean nie wskazuje w jakikolwiek sposób na rzeczywistą odpowiedzialność klasy. To prawda, że ​​używam oftenpublic class Bean lub MyBean w moich ogólnych przykładach kodu na blogach lub forum/Q & Odpowiedzi, ale w prawdziwym świecie powinieneś tego unikać.

FooManagedBean jest IMO słaba nazwa, to nie tylko zbyt długo i brzydki, ale technicznie, zarządzany fasoli jest instancja z fasoli podkładu, który jest zarządzany przez jakiś ram (JSF w tym przypadku). The class definition itself is really a backing bean, not a managed bean. Więc FooBackingBean jest technicznie bardziej poprawny, ale wciąż jest zbyt długi, a część Bean jest nieco swędząca.

Jest to dość subiektywne pytanie, na które trudno odpowiedzieć obiektywnie za pomocą jednej i właściwej odpowiedzi. Naprawdę nie ma to większego znaczenia dla mnie ani dla nikogo innego, co tworzysz, o ile jesteś konsekwentny z nim przez cały czas trwania projektu.

+0

Widziałem ludzi używających FooMB jako skrótu do FooManagedBean – Nabeel

+0

Jako reguły staraj się używać nazw nietechnicznych. Z kontekstu, w którym twój komponent bean jest zarządzanym komponentem bean, jest oczywiste, więc nie nazywaj go 'xxxManagedBean'. Lub raczej: nie koncentruj się na drugiej części nazwy. Ważną częścią jest 'xxx'. 'SomeFormBean' to gorsza nazwa niż' PersonFormBean', która jest gorsza od 'CreditUserBean'. Masz pomysł: ta druga nazwa mówi ci coś o tym, o co chodzi w tej fasoli. I właśnie to pomaga w dłuższej perspektywie. –

+0

Czy moglibyśmy nazwać FooView tak jak robią to pierwotne? czy ja się mylę? – Joe

Powiązane problemy