Cytat
Brak testów jednostkowych
Wiedziałem, że to będzie pierwsza rzecz, do której będą uwagi

Testy się pojawią.
Cytat
Dla mnie brakuje bardziej jasnego oznaczenia, łatwego znalezienia typu powiadomienia jakie wysyłasz.
Aktualnie zdefiniowałeś po prostu ustawienia z Zend_Config i jedynym miejscem w którym wiem o powiadomieniu to klucz z tych ustawień. To za mało.
Tutaj wydaje mi się, że źle to opisałem.
Cytat
A co jeżeli np dałbyś Batman_Notification_Data ?
Oczywiście odpowiednio rozszerzone np
Batman_Notification_Data_Config -> czyta dane z configa
Batman_Notification_Data_RDBMS -> czyta dane z bazy relacyjnej
Batman_Notification_Data_Xml -> z xmla
itd, itd wedle uznania
Po co to? Żeby łatwiej z tego korzystać i na przyszłość nie pamiętać jakie to dane musimy ustawić w konfiguracji, xmlu itd.
Dodatkowo niezwykle przydatne gdybyś np chciał rejestrować listę powiadomień z informacją o statusie wysłania.
Zastanawiałem się nad czymś podobnym, ale byłoby to nic innego jak powielenie Zend_Config. W chwili obecnej można przekazać obiekt Zend_Config, tablicę lub skorzystać z setterów.
Cytat
Batman_Notification_Sender_Abstract::addTemplateData - to nie jest na to miejsce, od tego user pobiera sobie View (getView) i sam te dane wstawia.
Podobnie z __set i __get, to nie jest na to miejsce bo ja jako programista spodziewałbym się że ustawiam jakieś dane konfiguracyjne notyfikatora a nie szablonowe.
Nad tym też się długo zastanawiałem i doszedłem do wniosku, że lepiej żeby to klasa powiadomień była proxy dla szablonu. Nic jednak nie stoi na przeszkodzie, aby stworzyć własny obiekt widoku i przekazać do klasy powiadomień.
Cytat
Batman_Notification_Sender_Mail
Bardziej uniwersalne byłoby gdyby do klasy można było podać obiekt Zend_Mail ze względu na możliwość dodania dodatkowych opcji do e-maila. Aktualna implementacja jest ograniczająca.
Tutaj miałem ogromny dylemat jak to rozwiązać i wybrałem najprostszy ze sposobów. Niemniej masz rację. Powinna być możliwość przekazania gotowego już obiektu Zend_Mail (lub dowolnego innego implementującego metodę send).
Cytat
Nie napisałeś za dużo o założeniach programistycznych biblioteki dlatego tak gdybam.
Reszta ok. Ocena 7/10 za względu na brak jasnej informacji o typie powiadomienia.
Racja. Za chwilę dodam opis.