Refresher/m/SDLC/Technical Design

OOP
Gohome.png
Technical Design
Construction
   
Construction
Ledgray.png
 Concurrency control: pessimistic or optimistic locking
Ledgray.png
 Pessimistic locking: immediate locking upon request
Ledgray.png
 Optimistic locking: clearing at commit time
Ledgray.png
 Software design patterns: solution template for many situations
Ledgray.png
 OO design pattern: relationships and interactions between classes or objects
Ledgray.png
 Mutable: prone to frequent change
Ledgray.png
 Immutable: not subject to change Types of design patterns: creational, structural, behavioral and concurrency
Ledgray.png
 Creational design patterns: Lazy initialization, Multiton, Singleton, etc.
Ledgray.png
 Structural design patterns: Adapter, Composite, Decorator, etc.
Ledgray.png
 Behavioral design patterns: Chain of responsibility, Iterator, Memento, etc.
Ledgray.png
 Concurrency design patterns: Lock, Scheduler, Thread pool, etc.
Ledgray.png
 Iterator design patterns: Collections -- List<string>
Ledgray.png
 Stateless protocol: each request a transaction independent of previous requests
Ledgray.png
 Stateless object: no attributes, only methods, lower invocation overhead
Ledgray.png
 Multi-tier architecture: presentation, application processing, and data management are separate processes
Ledgray.png
 Business Logic Layer (BLL): business process objects and business entities
Ledgray.png
 Stateless business layer: minimal overhead for long-running transactions
Ledgray.png
 Entity Data Model (EDM) diagrams: scalar properties, navigation properties, etc.
Ledgray.png
 Sequence diagram: interaction diagram showing how processes operate with one another and in what order
Ledgray.png
 ArchiMate: an open and independent enterprise architecture modeling language
Ledgray.png
 Component-based design (CBD): a reuse approach to defining, implementing and composing loosely coupled independent components into systems
Ledgray.png
 Software component: a software package, a Web service, or a module that encapsulates a set of related functions
Ledgray.png
 Service-orientation: a design paradigm to build computer software in the form of services
Ledgray.png
 Service-oriented architecture: a set of principles and methodologies for designing and developing software in the form of interoperable services
Ledgray.png
 SOA principles: reuse, granularity, modularity, composability, componentization and interoperability
Ledgray.png
 CBD or SOA: application of OOP at a higher level, e.g. to encapsulate a service as provided by an independent vendor