Some of you may know that I'm the co-founder of Kuźnia (student organization) and we are organizing monthly lectures called #PonadProgram. These are targeted to anyone who wants to learn something. Each lecture is presented by experienced people from local IT society.
Last Thursday (02 march 2017) Michał Warkocz talked about design patterns which had the highest number of votes on facebook poll. Michał is a team leader in Goyello company. He is also a mentor, trainer, certified .NET developer, agile enthusiast, information safety specialist and web application specialist. This is what I'm talking about when I say "experienced" ;)
We were listening about:
- Chain of Responsibility
- Object Pool
The whole event took about 1.5h and it was placed in Faculty of Mathematics, Physics and Informatics of Gdańsk University.
I was curious about
Object Pool pattern because I have never heard about it before. As I understood this pattern is all about efficiency. This creates objects once and keeps them in some collection bag for further usages. It prevents from excessive memory allocations and deallocations. Looks pretty useful for game development - initializing many objects in
update function may be a bad idea. Quite interesting but dangerous approach. Michał mentioned that this pattern is problematic in maintain and debug.
About other patterns I heard only partially because of my role on this event - I was a photographer. A good thing about this is that I have found a new setting on my camera - the silent mode. On previous events, shutter sound was so loud that I was embarrassed by making photos at all. I'm sure that I was distracting speakers. Now I can make photos without interruption and it's great. I also discovered that silent mode doesn't always work. For example, when I was making a panoramic photo I had to disable it (my camera rebelled). For panoramic photography of people - it is not a good idea. When somebody moves the photo may be fuzzy in that place. A better option would be 180 degrees photo but it needs a special camera.