Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

In software development, I’m using the so-called “Façade Pattern” to hide the complexity of a workflow via abstraction and encapsulation. I’m naming my classes using a “_Façade” suffix, so like Customer_Façade, Filesystem_Façade, and such.

I’d like a better word to use in my naming convention. What is an alternative to façade?

I've seen the question Word for "ability to hide complexity", but it does not provide an acceptable answer.

After thought: I’m actually wondering whether I should even try to find a generalized word from the English language, or whether I should instead try to find a word from the specific domain (software development), considering that these will have different meanings depending on context — for example, Profile.

share|improve this question
    
Why not abstraction or encapsulation as you have suggested? –  cornbread ninja 麵包忍者 May 9 '12 at 15:48
    
Not abstraction because the meaning would be ambiguous with the platform since it already has a definition of abstract classes. Encapsulation is pretty long, but it doesn't seem to fit. 'RegistrationEncapsulation' vs 'RegistrationFacade' –  DustinDavis May 9 '12 at 16:02
3  
Why not use facade? It's a widely accepted term in OOP. –  Jez May 9 '12 at 16:06
    
As a potentially dumb question/thought, does your code lose any sense if you don't tag things as a facade? –  tanantish May 9 '12 at 16:18
    
Not a dumb question at all. It will lose sense if it isn't tagged and that's why I'm looking for a good name for the convention. –  DustinDavis May 9 '12 at 17:32
show 1 more comment

3 Answers 3

up vote 3 down vote accepted

This seems more like a programming question than an English-language one, but here’s my answer anyway:

I question whether you need a suffix for these classes. Unless you have both Customer and CustomerFacade classes, you should just call your single class a Customer. If you do need the second class to hide certain features then perhaps a suffix like Worker or Interface would be appropriate, depending on what you are trying to accomplish.

share|improve this answer
    
+1 I agree with you. I was thinking of 'Service' instead. I do need a suffix to differentiate the two. –  DustinDavis May 9 '12 at 17:29
add comment

I believe you are looking for abstraction.

share|improve this answer
    
Be careful with "abstraction" since this has a meaning in object-oriented programming languages which may not be appropriate here. An abstract class can never be instantiated. –  SigueSigueBen May 9 '12 at 16:03
    
See my comment on my question about using abstraction. It's ambiguous in this context. –  DustinDavis May 9 '12 at 16:05
    
Don't know how I missed that... Sorry. –  rplst8 May 14 '12 at 16:04
add comment

The difficulty is arising from your getting stuck with 'hiding complexity.' I'd suggest using a simpler, familiar term and assigning it the relevant meaning only for the context. Such as Profile: generally, the real 'face' of something. However, we assign it the special meaning of a simpler 'public face' of what is otherwise a complex thing for our context.

share|improve this answer
    
viz. CustomerProfile; FileSystemProfile; ... –  Kris May 9 '12 at 15:53
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.