[dev] [commits] Horde branch master updated. 062155700ae928aa4ce65a7b01aaf1930b0cfaed

Jan Schneider jan at horde.org
Sat Oct 9 16:32:34 UTC 2010


Zitat von "Michael J.Rubinsky" <mrubinsk at horde.org>:

>
> Quoting Chuck Hagenbuch <chuck at horde.org>:
>
>> Quoting "Michael J.Rubinsky" <mrubinsk at horde.org>:
>>
>>>> I'd like to see every factory and singleton removed from the  
>>>> framework packages, unless they are actual factories that provide  
>>>> a default set of configured objects all specific to the package.
>>>
>>> Wouldn't keeping some of the factories in the framework packages  
>>> be beneficial for other projects using our libraries? They won't  
>>> have nice factory binders, so providing some sort of factory  
>>> method would seem to make sense, or am I missing something else  
>>> here?
>>
>> I was trying to get at this with my comment about actual factories.  
>> The more I think about it the more I think that there's not a lot  
>> of code here that isn't config or setup specific, and that sort of  
>> code belongs in core, or in the codebase of other projects using  
>> the libs.
>>
>> I'm definitely open to counter-examples, but if there are, I'd like  
>> to see them become actual Package_Factory classes, not ::factory()  
>> or ::singleton() methods.
>
> I started working on this locally, but want to be sure I understand  
> fully now that I've removed a few of these:
>
> So, for example, the Horde_Compress package (which we don't have a  
> core factory for), currently has a factory() method. There's no  
> rocket science in the method, just the typical add $driver name to  
> __CLASS__ and pass $params  etc... There is nothing really  
> configuration specific here, so these type of factories could move  
> to Horde_Compress_Factory::create()?  While packages such as  
> Horde_Auth, while still containing no core dependencies, requires  
> setup that is so specific to the client code that we should totally  
> remove the factory code and instead require the client code to deal  
> with it.
>
> I just worry about consistency across packages for object creation,  
> but I guess that would be dealt with by documentation.

I agree about the consistency. It would great if you could create  
objects from all Horde Components the same way.

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/



More information about the dev mailing list