Refresher/SDLC/Technical Design

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

Mobile version