Introduction to Application Frameworks
This is a brief introduction about how to develop applications using industry standards and industry-leading frameworks.
There are five object-oriented principles that should follow when designing software products. Those are known as S.O.L.I.D,
· Single responsibility — States that each class should have one specific purpose and a responsibility.
· Open-close — It’s possible to extend it, but it’s not possible to change it.
· Liskov substitution — States that functions that utilize base class pointers or references must be able to use derived class objects without being knowing of it.
· Interface segregation — States that no code should be forced to depend on methods it does not use.
· Dependency inversion — States that high-level modules should not depend on low-level modules.
In software engineering, there are some better technical solutions to overcome a business problem. In order to do it, should have to have a clear understanding of the problem. Then the problem can divide into smaller problems which are known as the divide and conquer method, it makes the problem less complex and easy to understand. Keep it simple and stupid (KISS) and when designing the solution, learn from the mistakes and keep in mind the reason software exists.
After designed a solution for a problem and when implementing that solution there are some important guidelines.
· YAGNI — States a programmer should not add functionality until deemed necessary.
· DRY — Principle of reducing repetition in the code.
· Embrace abstraction — States system functions properly without knowing the implementation details of every component part.
· DRITW — Sates that reuse the solution for a problem that someone already solved, write code that does one thing well.
· Debugging is harder than writing code so make it readable as possible.
· Kaizen — Fix not just the bug but the code around it.
Asynchronous dynamically typed single-threaded language which supports OOP as well as functional programming.
2. Version controlling
Also known as source control is the practice of tracking and managing changes to software code.
Version control systems are software tools that help software teams manage changes to source code over time
Version control software tools — Git, CVS, SVN, TFS, Monotone, Bazaar…etc.
Most popular version control system.
Free and open source
Supports protocols like SSH, HTTPS.
Commands — Git init, Git clone, Git add, Git stage, Git commit, Git push
NoSQL is an approach to database design that enables the storage and querying of data outside the traditional structures found in relational databases.
Removes the burden of data structure mismatches between in-memory applications and relational databases.