As primeiras impressões
Após a primeira aparição do Jazz para alguns amigos, ja obtive alguns retornos, estou bem empolgado, pois foram todos positivos.
- Erick Sasse, me motivou bastante
- Marcos Dougla, elogiou o design
- Lee Nover, mandou umas criticas, abaixo nosso bate papo
- Marcos Barreto, mostrou-se interessando em utilizar o JazzOPF com o Infra, particularmente gostei muito da idéia, e seria bem facil, pois o JazzOPF utiliza bem pouca informação do JazzVTF, apenas algumas Interfaces para navegar pelas listas, notificar e acessar valores dos membros, será simples de separar estes poucos códigos em outra unit, para que o pessoal do Infra possa implementar estes métodos e ai utilizar diretivas de compilação.
Para o primeiro dia foi muito bom, já rendeu melhoras para o código do Jazz.
Transcrição do bate-papo com Lee Nover
- IState has a property Delete – marked to delete
but the word Delete is a verb!
so it’s associated with the action Delete
I’d change it to eg. DeleteFlag or DoDelete or DelayedDelete ..
. OK – Changed to DoDelete
- why does IMember have a DataProvider?
. VTF dont know nothing about OPF, so how and when LazyLoad will be triggered?
IDataProvider provide the interface to be called when member will be accessed
automatically
DataProvider will be filled the first time the object be saved/loaded
- IValueObjectList has ItemClass .. it holds IValueObject, having a ItemClass doesn’t make sence .. at least not now ![]()
. how do you create a item? holds IValueObject that is created by Class, I dont know what you mean here.
- with ‘base types’ like IBoolean, you also have IValueDate and IValueMemo .. why not IDate and IMemo?
. to match with ClassName TValueDate and TValueMemo that have “Value” in name
to not conflict with VCL Types TDate and TMemo
- procedure TSubject.Detach(const Observer: IObserver); begin if FObservers <> nil then begin while FNotifying do ApplicationProcessMessages;
ok this is a BIG NO-NO!
you don’t need that because TInterfaceList is already ThreadSafe!
you can do: FObservers.Lock; dostuff; finally UnLock;
. it was made, coz the app had av, when close…
Changed to FObservers.Lock as you suggest
- I see you’re using THashedStringList
my advice: avoid it like the plague! although it’s Hashed, it’s SOOOOO SLOW!
check what I used in depo2 ObjectSpace … now THAT’s FAST ![]()
. the (old) version that I have here, or you have some updates?
you mean with TStringHash???
- comments intended as a critic to help you improve jazz ![]()
. ic, all your critics and comments are welcome
- TIndexType = ( itUnique, itAscendent, itDescendent it’s Ascending and Descending
. that is the kind of mistakes that non natives do… fixed

0 Comments
You can be the first one to leave a comment.