resources:diagrams:projects:base:sad:development_view:home

Resources:Diagrams:Projects:BASE:SAD:Development View

SOLID Development PatternsSingleResponsibility\PrincipleOpenClosePrincipleLiskov'sSubstitionPrincipleInterfaceSegragationPrincipleDependencyInversionPrincipleAn object should haveone and only one reasonto change, meaningthat a class shouldhave only one job.Objects should beopen for extension,but closed formodification.Code to the mostabstractrepresentation(ie, a base class).clients should notbe forced to implement/useinterface/methodsthey do not require.Entities must dependon abstractions noton concretions.(JGI).

CoreModule1Module2ModuleXDependenciesXAPIAPIAPIBusiness specific logic, keptindependent (therefore moremaintainable) from the Coretechnology used to automatethe Business Specific logicHandles Principals, Roles, Sessions,Auditing, Diagnostics, Telemetry andIntegration to other serviicesand other required (but expensiveto develop in a timely manner)Core System concepts.Multiple external services(IDA, Db, SMTP, KeyVault,Blob/Queue/File Storage, MalwareDetection, Telemetry, ReportGeneration, etc.leveragesleveragesleveragesappropriatelymanagedaccessappropriatelymanagedaccessappropriatelymanagedaccess

Domain Driven Designed System OverviewService Facade(APIs)ApplicationServicesInfrastructureServicesShared(Models)DomainServicesVendor Libsand Svc Clients«Faded»DataServices«Faded»OtherServicesAPIsprotectorchestrateuseorchestrateuseuse

example 1 2 1->2 3 2->3 6 2->6 4 3->4 7 6->7 7->3 8 7->8 8->4

WorkstationALMVersion Control ServicePersonalRepositoryManaged Distributed RepositoryDeveloperuseclone

example 1 2 1->2 3 2->3 6 2->6 7 6->7 7->3

User StoryDelivery ContractDefinitionsAutomatedDelivery ContractDeveloped byBusiness Analyststo capture StakeholdersDefined Goals andConstrained Objectives.Developed byDelivery Contract Specialists(aka Testers).Developed byDevelopment Specialists,submitted to the ContinuousDelivery Service to ensureQuality by Automation,on every Code commit.one or more11-*coded up as

BAs writefeature as UserStory,with alternateand exceptionsflowswrite succinct specificautomatable tests*before* development beginsThis tests the test itself,as well as ensuring the featuredoes not already exist --voiding the reason todevelop a new feature.Run the test toensure new test fails asno development has beginwrite the code to pass the testrun the single test to provethe new code worksrun the tests to ensure thatthe new code works -- withoutbreaking existing testsrefactor and run the testsagain to ensure that therefactoring did not breakexisting testswrite new tests to push thefunctionality further andrepeat, or move on to nextfeaturenofeature complete?yes

  • /home/skysigal/public_html/data/pages/resources/diagrams/projects/base/sad/development_view/home.txt
  • Last modified: 2023/11/04 23:29
  • by 127.0.0.1