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


Groups > comp.lang.java.programmer > #7085

Re: Synchronization of the constructor

Date 2011-08-13 10:04 -0700
From Patricia Shanahan <pats@acm.org>
Newsgroups comp.lang.java.programmer
Subject Re: Synchronization of the constructor
References <j25hro$cjf$1@news.onet.pl> <j25uri$vm$1@dont-email.me> <j264b6$3u5$1@dont-email.me> <fb83dde2-63a4-4990-b8f9-af413301c31d@glegroupsg2000goo.googlegroups.com>
Message-ID <SuadncmuyIkvM9vTnZ2dnUVZ_rydnZ2d@earthlink.com> (permalink)

Show all headers | View raw


On 8/13/2011 9:23 AM, Lew wrote:
...
> Bottom line:  constructors are wholly for _construction_, only
> construction and nothing but construction, not operations on the
> object.  Do your logic outside the constructor, after the
> constructor's promises have a chance to be kept.
>

I have been shifting away from public constructors towards private or
protected constructors with a pubic static factory method.

In this approach, it is easy to make the constructor do absolutely
nothing but construction. The factory method can do additional steps,
such as starting a thread or calling synchronized methods, to bring the
object into full operation before returning it.

In addition to making it easier to write thread-safe code, the factory
method approach is generally more flexible than calling constructors
directly from other classes.

Patricia

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Synchronization of the constructor MaciekL <__nospam__maclab@o2.pl> - 2011-08-13 11:58 +0200
  Re: Synchronization of the constructor Robert Klemme <shortcutter@googlemail.com> - 2011-08-13 12:17 +0200
    Re: Synchronization of the constructor "Qu0ll" <Qu0llSixFour@gmail.com> - 2011-08-13 21:36 +1000
      Re: Synchronization of the constructor Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-08-13 09:30 -0300
    [OT] Natural language. Was: Re: Synchronization of the constructor Patricia Shanahan <pats@acm.org> - 2011-08-13 07:10 -0700
  Re: Synchronization of the constructor Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-08-13 09:36 -0400
    Re: Synchronization of the constructor markspace <-@.> - 2011-08-13 08:13 -0700
      Re: Synchronization of the constructor Lew <lewbloch@gmail.com> - 2011-08-13 09:23 -0700
        Re: Synchronization of the constructor Patricia Shanahan <pats@acm.org> - 2011-08-13 10:04 -0700
          Re: Synchronization of the constructor Lew <lewbloch@gmail.com> - 2011-08-13 21:29 -0700
            Re: Synchronization of the constructor kedar mhaswade <kedar.mhaswade@gmail.com> - 2011-08-13 23:16 -0700
            Re: Synchronization of the constructor "Qu0ll" <Qu0llSixFour@gmail.com> - 2011-08-15 14:24 +1000
              Re: Synchronization of the constructor Lew <lewbloch@gmail.com> - 2011-08-14 23:03 -0700
      Re: Synchronization of the constructor kedar mhaswade <kedar.mhaswade@gmail.com> - 2011-08-13 23:12 -0700
        Re: Synchronization of the constructor markspace <-@.> - 2011-08-14 07:42 -0700
          Re: Synchronization of the constructor markspace <-@.> - 2011-08-14 07:51 -0700
            Re: Synchronization of the constructor Lew <lewbloch@gmail.com> - 2011-08-14 09:10 -0700
              Re: Synchronization of the constructor markspace <-@.> - 2011-08-14 11:28 -0700

csiph-web