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.
Widziałem ludzi używających FooMB jako skrótu do FooManagedBean – Nabeel
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. –
Czy moglibyśmy nazwać FooView tak jak robią to pierwotne? czy ja się mylę? – Joe