You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@onami.apache.org by "Jordan Zimmerman (JIRA)" <ji...@apache.org> on 2013/03/31 00:21:15 UTC
[jira] [Commented] (ONAMI-102) Redesign the Modules structure in
order to simply APIs usage
[ https://issues.apache.org/jira/browse/ONAMI-102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13618183#comment-13618183 ]
Jordan Zimmerman commented on ONAMI-102:
----------------------------------------
I tend not to like allocating Builders. I prefer the Guice style of Guice.createInjector()... Is it the static method that you dislike or the name?
> Redesign the Modules structure in order to simply APIs usage
> ------------------------------------------------------------
>
> Key: ONAMI-102
> URL: https://issues.apache.org/jira/browse/ONAMI-102
> Project: Apache Onami
> Issue Type: Improvement
> Components: lifecycle
> Affects Versions: lifecycle-0.2.0
> Reporter: Simone Tripodi
> Assignee: Jordan Zimmerman
> Fix For: lifecycle-0.2.0
>
>
> We already started discussing about it in the ML, but let's track progresses on JIRA.
> I detected few areas of approaching the lifecycle design:
> * IIUC, we want to manage a series of annotations which identify the sequence of staging steps in the lifecycle, so IMHO the AbstractLifeCycleModule constructor with just one annotation has to disappear; it would be nice to have a varargs array, which would simplify the signature - and the usage from our users - but it would generate an annoying warning to our users; IMHO it is still acceptable, but in case we don't find an agreement here, Iterable should be the best way to pass the annotations sequence to the module.
> * ListBuilder: as already discussed, this sound too generic: I'd propose something like AnnotationsLifecycleSequenceBuilder (maybe it is too verbose :P) but I'd opt for something that gives a precise idea, not a generic one;
> * Again on the list builder, as we discussed, IMHO the wrapped data structure should be a LinkedHashSet: it preserves the sequence and makes efficient the check for duplicates - if the list has a duplicate, I bet the lifecycle event would be handled twice;
> * Builder pattern: the way to get the builder is IMHO a little too verbose: Builder.newBuilder() is not a pattern that makes me particularly happy, I'd rather opt for inner class builder such as {{new ConcreteClass.Builder()}} which is used in the AsyncHttpClient - WDYT?
> I can even make a proposal, in order to show you better my ideas, and attach a patch to discuss together
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira