pivot-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrei Pozolotin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PIVOT-743) pivot & static
Date Tue, 17 May 2011 20:39:47 GMT

    [ https://issues.apache.org/jira/browse/PIVOT-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13035032#comment-13035032
] 

Andrei Pozolotin commented on PIVOT-743:
----------------------------------------

re: "classloader issue is probably worth doing" - great, thank you!
re: "what problem eliminating the use of static" - fine, I'll be back :-)

> pivot & static
> --------------
>
>                 Key: PIVOT-743
>                 URL: https://issues.apache.org/jira/browse/PIVOT-743
>             Project: Pivot
>          Issue Type: Improvement
>    Affects Versions: 2.0
>            Reporter: Andrei Pozolotin
>             Fix For: 2.1
>
>
> Greg, hello:
> 1) in this example you say:
> http://pivot.apache.org/tutorials/list-buttons.html
> "Note that this example makes use of the global resource cache to store the loaded images."
> 2) which reminds of the "java evil singleton pattern"
> http://java.sun.com/developer/technicalArticles/Programming/singletons/
> http://www.ibm.com/developerworks/webservices/library/co-single/index.html
> http://beust.com/weblog/2011/03/10/rehabilitating-the-singleton-pattern/
> http://tech.puredanger.com/2007/07/03/pattern-hate-singleton/
> and the consensus seems to be: 
> "Singletons are fine as long as you don't implement them with static"	
> 3) and pivot uses them freely; few examples
> public abstract class ApplicationContext {
>     protected static ArrayList<Display> displays = new ArrayList<Display>();
>     protected static ArrayList<Application> applications = new ArrayList<Application>();
>     private static HashMap<URI, Object> resourceCache = new HashMap<URI, Object>();
>     private static ResourceCacheDictionary resourceCacheDictionary = new ResourceCacheDictionary();
> public abstract class Theme {
>     private static Theme theme = null;
> 4) do you think is it feasible to convert all of pivot into SPI:
> 		ServiceLoader<PivotFrameworkFactory> loader = ServiceLoader.load(PivotFrameworkFactory.class);
> 		PivotFrameworkFactory factory = loader.iterator().next();
> 		Map<String, Object> config = new HashMap<String, Object>();
> 		PivotFramework framework = factory.newFramework(config);
> 5) the two use cases that affect me now:
> a) applet reload shares static
> b) pivot + osgi (not sure yet if I can find a workaround; possibly depends on what you
do about PIVOT-742 PIVOT-22)
> thank you;
> Andrei

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message