Monday, March 26, 2012

Singleton Object

Hi ,
Can anyone tell me when I can use singleton pattern. Will
it be good for implementing the dataaccess Layer. Will it
be usefull for the buisness object layer . Could you give
me a practicle example for using the singleton object.

Regards,
Srini"Srini" <rsrinivasanhome@.yahoo.com> wrote in message
news:0ae301c393be$b07e6a90$a401280a@.phx.gbl...
> Hi ,
> Can anyone tell me when I can use singleton pattern. Will
> it be good for implementing the dataaccess Layer. Will it
> be usefull for the buisness object layer . Could you give
> me a practicle example for using the singleton object.
> Regards,
> Srini

For dataaccess you probably want to use static methods, so NO instance.
A singleton could be used to hold configuration information that should not
change (much).

Hans Kesting
Singletons are most useful for Application settings, where you want the
object instantiated for the app and any changes in settings affect all
users.You could put your connection settings in a singleton, for example.

A data layer can be implemented as Static methods, ala the Microsoft Data
Access Application Block, but a Singleton is not a good idea unless everyone
is accessing the same exact data in the same exact manner, or you do not
mind if another person alters someone else's data access path. As this is
not a normal situation, this is not a good place for a singleton pattern.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

************************************************** ********************
Think Outside the Box!
************************************************** ********************
"Srini" <rsrinivasanhome@.yahoo.com> wrote in message
news:0ae301c393be$b07e6a90$a401280a@.phx.gbl...
> Hi ,
> Can anyone tell me when I can use singleton pattern. Will
> it be good for implementing the dataaccess Layer. Will it
> be usefull for the buisness object layer . Could you give
> me a practicle example for using the singleton object.
> Regards,
> Srini
Hello

I usually use Singletons when I want my singleton object to implement some
interface.
For example in the code below I can have a singleton object of datatype
IDbCustomerManager that can be either SQLCustomerManager or
AccessCustomerManager. This makes switching between Access and SQL easy. If
I don't need this feature I use static methods, fields and properties.

interface IDbCustomerManager{
void AddCustomer(Customer cust);
}

class SqlCustomerManager : IDbCustomerManager {
void AddCustomer(Customer cust) { // Add customer to a SQL server
database }
}
class AccessCustomerManager : IDbCustomerManager {
void AddCustomer(Customer cust) { // Add customer to an Access
database }
}

Best regards,
Sherif

"Srini" <rsrinivasanhome@.yahoo.com> wrote in message
news:0ae301c393be$b07e6a90$a401280a@.phx.gbl...
> Hi ,
> Can anyone tell me when I can use singleton pattern. Will
> it be good for implementing the dataaccess Layer. Will it
> be usefull for the buisness object layer . Could you give
> me a practicle example for using the singleton object.
> Regards,
> Srini
Sherif,

You are describing Interface inheritance, not an implementation of the
Singleton pattern.

See http://www.dofactory.com/Patterns/PatternSingleton.aspx for a
description and examples.

-Steve Jansen

"Sherif ElMetainy" <elmeteny.NOSPAM@.wayout.net.NOSPAM> wrote in message
news:%23XYmsr$kDHA.2200@.TK2MSFTNGP12.phx.gbl...
> Hello
> I usually use Singletons when I want my singleton object to implement some
> interface.
> For example in the code below I can have a singleton object of datatype
> IDbCustomerManager that can be either SQLCustomerManager or
> AccessCustomerManager. This makes switching between Access and SQL easy.
If
> I don't need this feature I use static methods, fields and properties.
> interface IDbCustomerManager{
> void AddCustomer(Customer cust);
> }
> class SqlCustomerManager : IDbCustomerManager {
> void AddCustomer(Customer cust) { // Add customer to a SQL server
> database }
> }
> class AccessCustomerManager : IDbCustomerManager {
> void AddCustomer(Customer cust) { // Add customer to an Access
> database }
> }
> Best regards,
> Sherif
> "Srini" <rsrinivasanhome@.yahoo.com> wrote in message
> news:0ae301c393be$b07e6a90$a401280a@.phx.gbl...
> > Hi ,
> > Can anyone tell me when I can use singleton pattern. Will
> > it be good for implementing the dataaccess Layer. Will it
> > be usefull for the buisness object layer . Could you give
> > me a practicle example for using the singleton object.
> > Regards,
> > Srini

0 comments:

Post a Comment