Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #66203

Re: singleton ... again

From Roy Smith <roy@panix.com>
Newsgroups comp.lang.python
Subject Re: singleton ... again
Date 2014-02-13 14:03 -0500
Organization PANIX Public Access Internet and UNIX, NYC
Message-ID <roy-BA9C8D.14031413022014@news.panix.com> (permalink)
References (5 earlier) <m2a9dvmlos.fsf@cochabamba.vanoostrum.org> <ldibhu$2g5$1@ger.gmane.org> <mailman.6850.1392313443.18130.python-list@python.org> <roy-640027.12574313022014@news.panix.com> <mailman.6852.1392317509.18130.python-list@python.org>

Show all headers | View raw


In article <mailman.6852.1392317509.18130.python-list@python.org>,
 Ethan Furman <ethan@stoneleaf.us> wrote:

> On 02/13/2014 09:57 AM, Roy Smith wrote:
> > In article <mailman.6850.1392313443.18130.python-list@python.org>,
> >   Ethan Furman <ethan@stoneleaf.us> wrote:
> >
> >> Say you have a class that represents serial ports or your computer.  You
> >> should get the same object every time you ask
> >> for SerialPort(2).
> >
> > Why?  Certainly, you should get objects which refer to the same physical
> > port.  So:
> >
> > port_a = SerialPort(2)
> > port_b = SerialPort(2)
> >
> > port_a.enable()
> > assert port_b.is_shutdown() == False
> >
> > port_a.shutdown()
> > assert port_b.is_shutdown() == True
> >
> > But, why do they have to be the same object?  Why should I care if
> >
> > port_a is port_b
> >
> > is False, as long as all operations I perform on either are reflected in
> > correct state changes on the other one?
> 
> You mean use the Borg pattern instead of the Singleton pattern?  As far as I 
> can tell they are two shades of the same 
> thing.  Are there any drastic differences between the two?  Besides one 
> having many instances that share one __dict__ 
> and the other just having one instance and one __dict__?

I envision SerialPort being a thin layer on top of a bunch of 
OS-specific system calls to give them a pythonic interface.  Things like 
is_shutdown() and set_bit_rate() presumably turn into ioctls.  No need 
to have any state at all beyond a file descriptor.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

singleton ... again Asaf Las <roegltd@gmail.com> - 2014-02-11 20:34 -0800
  Re: singleton ... again Asaf Las <roegltd@gmail.com> - 2014-02-11 21:15 -0800
  Re:singleton ... again Dave Angel <davea@davea.name> - 2014-02-12 00:48 -0500
    Re: singleton ... again Roy Smith <roy@panix.com> - 2014-02-12 00:55 -0500
      Re: singleton ... again Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-02-12 23:04 +1300
        Re: singleton ... again Ben Finney <ben+python@benfinney.id.au> - 2014-02-12 21:09 +1100
          Re: singleton ... again Roy Smith <roy@panix.com> - 2014-02-12 08:40 -0500
          Re: singleton ... again Piet van Oostrum <piet@vanoostrum.org> - 2014-02-13 10:00 +0100
            Re: singleton ... again Ned Batchelder <ned@nedbatchelder.com> - 2014-02-13 06:50 -0500
            Re: singleton ... again Chris Angelico <rosuav@gmail.com> - 2014-02-13 22:57 +1100
              Re: singleton ... again Roy Smith <roy@panix.com> - 2014-02-13 10:24 -0500
                Re: singleton ... again Chris Angelico <rosuav@gmail.com> - 2014-02-14 07:03 +1100
                Re: singleton ... again Robert Kern <robert.kern@gmail.com> - 2014-02-13 21:13 +0000
                Re: singleton ... again Chris Angelico <rosuav@gmail.com> - 2014-02-14 08:27 +1100
            Re: singleton ... again Ethan Furman <ethan@stoneleaf.us> - 2014-02-13 08:57 -0800
              Re: singleton ... again Roy Smith <roy@panix.com> - 2014-02-13 12:57 -0500
                Re: singleton ... again Ethan Furman <ethan@stoneleaf.us> - 2014-02-13 10:31 -0800
                Re: singleton ... again Roy Smith <roy@panix.com> - 2014-02-13 14:03 -0500
                Re: singleton ... again Chris Angelico <rosuav@gmail.com> - 2014-02-14 06:50 +1100
                Re: singleton ... again Grant Edwards <invalid@invalid.invalid> - 2014-02-13 22:28 +0000
              Re: singleton ... again Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-02-14 18:21 +1300
            Re: singleton ... again Tim Delaney <timothy.c.delaney@gmail.com> - 2014-02-14 06:16 +1100
        Re: singleton ... again Steven D'Aprano <steve@pearwood.info> - 2014-02-13 02:58 +0000
          Re: singleton ... again Ben Finney <ben+python@benfinney.id.au> - 2014-02-13 14:07 +1100
            Re: singleton ... again Steven D'Aprano <steve@pearwood.info> - 2014-02-13 04:24 +0000
              Re: singleton ... again Chris Angelico <rosuav@gmail.com> - 2014-02-13 15:33 +1100
              Re: singleton ... again Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-02-14 18:15 +1300
          Re: singleton ... again Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-02-14 18:06 +1300
    Re: singleton ... again Asaf Las <roegltd@gmail.com> - 2014-02-12 09:50 -0800
      Re: singleton ... again Asaf Las <roegltd@gmail.com> - 2014-02-12 09:56 -0800
        Re: singleton ... again Asaf Las <roegltd@gmail.com> - 2014-02-12 09:58 -0800
        Re: singleton ... again Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-02-13 10:57 +1300
          Re: singleton ... again Asaf Las <roegltd@gmail.com> - 2014-02-12 17:38 -0800
      Re: singleton ... again Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-02-12 18:57 +0000
        Re: singleton ... again Asaf Las <roegltd@gmail.com> - 2014-02-12 17:02 -0800
      Re: singleton ... again Ned Batchelder <ned@nedbatchelder.com> - 2014-02-12 16:34 -0500
        Re: singleton ... again Asaf Las <roegltd@gmail.com> - 2014-02-12 17:34 -0800
      Re: singleton ... again Tim Delaney <timothy.c.delaney@gmail.com> - 2014-02-13 10:08 +1100
      Re: singleton ... again Roy Smith <roy@panix.com> - 2014-02-12 20:57 -0500
  Re: singleton ... again Michael Torrie <torriem@gmail.com> - 2014-02-12 15:05 -0700

csiph-web