# Design philosophy

**URL:** <https://discuss.elastic.co/t/design-philosophy/4161>\
**Category:** Elasticsearch\
**Created:** [March 26, 2011, 3:38pm UTC](https://discuss.elastic.co/t/design-philosophy/4161 "2011-03-26T15:38:41Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![stevebully](https://avatars.discourse-cdn.com/v4/letter/s/47e85d/32.png) [@stevebully](https://discuss.elastic.co/u/stevebully)\
**Post date:** [March 26, 2011, 3:38pm UTC](https://discuss.elastic.co/t/design-philosophy/4161/1 "2011-03-26T15:38:41Z")

</div>

Hi Shay,

I just want to say how impressive Elastic Search is, well done!

As a young programmer, I am always trying to learn from people you are  
more skilled than, I so I was curious if you could answer some  
questions regarding your design? One of the things I have trouble with  
is static methods, dependency handling, raw constructor usage (new),  
etc. and deciding when to use one versus the other. Looking through  
the ES code I see there is a mix of all of these. What is your  
rationale for when to use what?

much appreciated and thanks again!

steve

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 4:09am UTC](https://discuss.elastic.co/t/design-philosophy/4161/2 "2017-07-06T04:09:13Z")

</div>

Closed on July 6, 2017, 4:09am UTC


