Recent site activity

Infoshare‎ > ‎

Techictionary

Cohesion Spectrum
It is the order of increasing "Cohesion" within a module or class.
  1. Coincidental
  2. Conceptual
  3. Temporal
  4. Procedural
  5. Communicational
  6. Informational
  7. Functional
Coupling Spectrum
It is the order of increasing "Coupling" between two modules or classes.
  1. No Coupling
  2. Data Coupling
  3. Stamp Coupling / Message Coupling
  4. Control Coupling
  5. Common Coupling
  6. Content Coupling
K.I.S.S principle
The KISS principle (acronym for "Keep It Sweet & Simple") states that design simplicity should be a key goal and unnecessary complexity avoided. Common variants of the acronym include: "Keep It Simple, Stupid", and "Keep It Short & Simple".

D.R.Y principle
Don't Repeat Yourself (DRY, also known as Once and Only Once or Single Point of Truth (SPOT)) is a process philosophy aimed at reducing duplication. The philosophy emphasizes that information should not be duplicated, because duplication increases the difficulty of change, may decrease clarity, and leads to opportunities for inconsistency.

Kitchen-Sink syndrome
a.k.a Scope creep, Requirement Creep, and Feature Creep refers to uncontrolled changes in a project's scope. This phenomenon can occur when the scope of a project is not properly defined, documented, or controlled. As a result, the project team risks drifting away from its original purpose and scope on unplanned additions. As the scope of a project grows, more tasks must be completed within the budget and schedule originally designed for a smaller set of tasks.

S.O.L.I.D Principles
S.O.L.I.D. is a collection of best-practice object-oriented design principles that you can apply to your design to accomplish various desirable goals like loose-coupling, higher maintainability, intuitive location of interesting code, etc. S.O.L.I.D. is an acronym for the following principles
  • Single Responsibility Principle (SRP) - There should never be more than one reason for a class to change.
  • Open Closed Principle (OCP) - Software entities (Classes, Modules, Functions, etc.) should be open for extension but closed for modification.
  • Liskov Substitution Principle (LSP) - Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it
  • Interface Segregation Principle (ISP) - Clients should not be forced to depend upon Interfaces that they do not use.
  • Dependency Inversion Principle (DIP) -
    • High level modules should not depend upon low level modules. Both should depend upon abstractions.
    • Abstractions should not depend upon details. Details should depend upon Abstractions.

Database Partitioning
Partitioning is the process of dividing the logical databae or it's constituting elements into distinct parts. It is very commonly used in distributed database management systems. Two ways to partition a database are
  1. Horizontal - Separating different 'rows' of a table into distinct parts
  2. Vertical - Separating different 'columns' of a table into distinct parts