Posts

Showing posts from May, 2020

Git Basics

Source control or Version control is a system which keeps a record about changes that made for a file or many files along the time so that we can recall it when needed Version control is of two types as ·          Centralized version control (CVCS) §   Developers interact with a central VCS server §   Interaction is very slow §   Not supportive to GitHub, GitLab, BitBucket ·          Distributed version control(DVCS) §   Developers can have a local version database and interact with a server computer and each other §   Collaborative working is allowed §   Branching workflows for projects are supported Git is replacement of BitKeeper which is introduced by Linus Torvalds in 2005. Features of Git                        §   Speed is high even with large projects §   Can have multiple branches for parallel workings §   Distributed version control (DVCS) §   Supportive to GitHub, GitLab, BitBucket §   Has Integrity §   Has 3 common states as Modifie

Solid Principles in Java

Image
S.O.L.I.D principle is mainly used to write code in an efficient and effective way so that can be managed easily. Additionally it supports for agile software development. ü S: Single Responsibility Principle Key Idea: One class should have only one responsibility Simply define as one class should have one task to do This causes to create fewer functions Lesser functions lead for easy testing Powerful code organization  ü O: Open Closed Principle Key Idea: Software components should only opened to extend, but closed to modify This extending can be achieved by inheriting from a class or overwriting the required behaviors from a class or by extending certain behaviors of the class This principle recommends using interfaces ü L: Liskov Substitution Principle Key Idea: All derived types should be completely substitutable to the respective base types Every sub class or derived class should be substitutable for their parent or base class This