Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 94304 invoked from network); 4 Sep 2006 10:42:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 4 Sep 2006 10:42:01 -0000 Received: (qmail 54649 invoked by uid 500); 4 Sep 2006 10:42:00 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 54606 invoked by uid 500); 4 Sep 2006 10:42:00 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 54588 invoked by uid 99); 4 Sep 2006 10:42:00 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Sep 2006 03:42:00 -0700 X-ASF-Spam-Status: No, hits=1.1 required=10.0 tests=DNS_FROM_RFC_ABUSE,HTML_00_10,HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of elecharny@gmail.com designates 64.233.162.204 as permitted sender) Received: from [64.233.162.204] (HELO nz-out-0102.google.com) (64.233.162.204) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Sep 2006 03:41:57 -0700 Received: by nz-out-0102.google.com with SMTP id i11so825451nzh for ; Mon, 04 Sep 2006 03:41:36 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type; b=rkcmoK41Jqqson+Gc3Et/klvR+IRDXNXzmAf/bnBPOPCVVHUXGTlrtIeF2Gm+eKaJKc4NosFKVNPuKji0Yly3IoTawqnoYaCf1y9Oa95lMcsdzKC50ChKZc+CrJZzj0MURx9xeHr9DE1XkiwdyTLuXscP8D83+uen/0gTb1NLTo= Received: by 10.65.237.15 with SMTP id o15mr2967605qbr; Mon, 04 Sep 2006 03:41:36 -0700 (PDT) Received: by 10.65.84.17 with HTTP; Mon, 4 Sep 2006 03:41:36 -0700 (PDT) Message-ID: Date: Mon, 4 Sep 2006 12:41:36 +0200 From: "Emmanuel Lecharny" Reply-To: elecharny@apache.org To: "Apache Directory Developers List" Subject: [ADS 2.0] Naming convention ... again ! MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_78828_4541832.1157366496413" X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N ------=_Part_78828_4541832.1157366496413 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi band, a question that has already been discussed many times by all the developper= s on earth, but again, I need a shared vision. So : which convention should we use for interface names? Here is the problem : I have a BindRequest class which will be extended using the decorator pattern to add toDSML, toPDU, fromDSML and fromPDU methods. I will have two concrete decorators : - BindRequestDsmlDecorator - BindRequestAsn1Decorator and of course an abstract class called BindRequestDecorator This abstract class will contains a reference to a BindRequest object, and will implements all the BindRequest objects methods. At this point, the question arise : why don't we have a BindRequest interface and a BindRequestImpl class? The BindRequest interface will be implemented by the BindRequestImpl and BindRequestDecorator classes. Good idea. But then I'm a little bit annoyed by the name BindRequestImpl. S= o am I with the BindRequestDecorator which could have been AbstractBindRequestDecorator, as we have AbstractMessage, AbstractRequest, etc. To be short : Q1 : Should we add an 'I' in front on interface that are not obviously seen as interfaces (like BindRequest : renamed to IBindRequest) (I mean to avoid a collision between an interface name and a class name) ? Q2 : Should we add an 'I' in front of *all* interfaces, breaking the JLS rules ? (so Message will be renamed to IMessage, even if it's obvious that Message cannot be a concrete class) Q3 : Should we add 'Abstract' in front of abstract class ? Q4 : if Q1 and Q2 is *NO !!!*, then which name should we use for class whic= h implements interface : ConcreteBindRequest, BindRequestImpl ? Note that I do not want to start a flamwar, I just need your opinion in order to have a consistant naming across the project. Any opinion is welcomed. Emmanuel --=20 Cordialement, Emmanuel L=E9charny ------=_Part_78828_4541832.1157366496413 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi band,

a question that has already been discussed many times by al= l the developpers on earth, but again, I need a shared vision.

So : = which convention should we use for interface names?

Here is the prob= lem :

I have a BindRequest class which will be extended using the decorat= or pattern to add toDSML, toPDU, fromDSML and fromPDU methods. I will have = two concrete decorators : 
- BindRequestDsmlDecorator
- BindReq= uestAsn1Decorator
and of course an abstract class called BindRequestDecorator

This= abstract class will contains a reference to a BindRequest object, and will= implements all the BindRequest objects methods.

At this point, the = question arise : why don't we have a BindRequest interface and a BindReques= tImpl class? The BindRequest interface will be implemented by the BindReque= stImpl and BindRequestDecorator classes.

Good idea. But then I'm a little bit annoyed by the name BindReques= tImpl. So am I with the BindRequestDecorator which could have been Abstract= BindRequestDecorator, as we have AbstractMessage, AbstractRequest, etc.

To be short :
Q1 : Should we add an 'I' in front on interface th= at are not obviously seen as interfaces (like BindRequest : renamed to IBin= dRequest) (I mean to avoid a collision between an interface name and a clas= s name) ?
Q2 : Should we add an 'I' in front of *all* interfaces, breaking the JL= S rules ? (so Message will be renamed to IMessage, even if it's obvious tha= t Message cannot be a concrete class)
Q3 : Should we add 'Abstract' in f= ront of abstract class ?
Q4 : if Q1 and Q2 is *NO !!!*, then which name should we use for class = which implements interface : ConcreteBindRequest, BindRequestImpl ?

= Note that I do not want to start a flamwar, I just need your opinion in ord= er to have a consistant naming across the project.

Any opinion is welcomed.

Emmanuel

-- Cordialement,
Emmanuel L=E9charny ------=_Part_78828_4541832.1157366496413--