SlideShare a Scribd company logo
onCodeDesign.com/implementing-clean-architecture
Drive predictability through Software Design
PeakIT - Brașov, 2024 Florin Coroș
florin@onCodeDesign.com
linkedin.com/in/florincoros
Implementing Clean Architecture
onCodeDesign.com/implementing-clean-architecture
Drive predictability through Software Design
oncodedesign.com/implementing-clean-architecture
Software Architect Consultant
Technical Trainer
Founder of Code Design
enjoing playing GO
enjoing traveling
Florin
Coroș
onCodeDesign.com/implementing-clean-architecture
Drive predictability through Software Design
PeakIT - Brașov, 2024 Florin Coroș
florin@onCodeDesign.com
linkedin.com/in/florincoros
Implementing Clean Architecture
onCodeDesign.com/implementing-clean-architecture
Why is Architecture Important
-- Robert C. Martin, Clean Architecture
The goal of software architecture is to
minimize the human resources required
to build and maintain the required system
onCodeDesign.com/implementing-clean-architecture
Decompose - Separation of Concerns
Title
Title
Title
Title
Title
Title
Title
onCodeDesign.com/implementing-clean-architecture
Manage the Complexity and Size
when projects do fail for reasons that are
primarily technical, the reason is often
uncontrolled complexity
onCodeDesign.com/implementing-clean-architecture
The Architecture is Separation of
Concerns and a Set of Rules
External
Interfaces
UI Frameworks
Devices
Controllers
Entities
Entities
Use Cases
onCodeDesign.com/implementing-clean-architecture
Implementing the Architecture
External
Interfaces
UI Frameworks
Devices
Controllers
Entities
Entities
Use Cases
onCodeDesign.com/implementing-clean-architecture
Structure that Supports the Architecture
External
Interfaces
UI Frameworks Devices
Controllers
Entities
Entities
Use Cases
Clean Architecture
External
Interfaces
UI Frameworks
Devices
Controllers
Entities
Entities
Use Cases
http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
Presenter
Controller
UseCase
Implementation
Presenter
Controller
UseCase
Implementation
UseCase
InputAbstraction
UseCase
OutputAbstraction
Dependencies should be in one direction only
Source code dependencies can only point inwards
onCodeDesign.com/implementing-clean-architecture
Implementing Clean Architecture through
Structure
• Hide external frameworks to enforce the way they are used
• Use assemblies and references among them to enforce rules
• Enforce Constructor Dependency Injection that encourages
Programming Against Interfaces
Create a structure that makes it difficult to write bad code and it makes it easy to
write good code, code that follows the architecture and the design
onCodeDesign.com/implementing-clean-architecture
<<interface>>
ILogger
+LogError()
Logger
+LogError()
Creating a Structure for Clean Architecture
External
Interfaces
UI Frameworks
Devices
Controllers
Entities
Entities
Use Cases
<<public interface>>
ILogger
+LogError()
<<Internal class>>
Logger
+LogError()
onCodeDesign.com/implementing-clean-architecture
Hide External Libraries from App Code
<<Internal class>>
Exception Wrappers
<<public
Interface>>
API Interfaces
<<Internal class>>
Decorators
onCodeDesign.com/implementing-clean-architecture
<<Interface>>
TDataModel
IRepository
+GetEntities<TDataModel>()
<<Interface>>
TDataModel
IUnitOfWork
+GetEntities<TDataModel>()
+SaveChanges()
Database
EfRepository EfUnitOfWork
<<Stereotype>>
<<DTO>>
Order
<<DTO>>
Person
Enforce Separation of Data Access Concerns
iQuarcDataAccess
onCodeDesign.com/implementing-clean-architecture
DIP to Enforce Separation of Data Access
Concern
<<Interface>>
IDbContextFactory
+CreateContext()
Database
<<DTO>>
Customer
<<DTO>>
Order
<<DTO>>
Person
UnitOfWork
Repository DbContextFactory
<<Interface>>
TDataModel
IRepository, IUnitOfWork
+GetEntities()
+SaveEntities()
onCodeDesign.com/implementing-clean-architecture
<<Attribute>>
ServiceAttribute
+ServiceAttribute(interface : Type )
IBootstrapper
+Run()
<<Internal>>
DependencyContainerAdapter
iQuarcAppBoot
AppBoot Hides the DI Framework under Abstractions
public interface IPriceCalculator
{
int CalculateTaxes(Order o, Customer c);
int CalculateDiscount(Order o, Customer c);
}
[Service(typeof(IPriceCalculator), Lifetime.Instance)]
interal class PriceCalculator : IPriceCalculator
{
public int CalculateTaxes(Order o, Customer c)
{
return 10; // do actual calculation
}
public int CalculateDiscount(Order o, Customer c)
{
return 20; // do actual calculation
}
}
onCodeDesign.com/implementing-clean-architecture
AppBoot: DI Abstractions & Type Discovery
<<Interface>>
IDbContextFactory
+CreateContext()
Database
<<DTO>>
Customer
<<DTO>>
Order
<<DTO>>
Person
UnitOfWork
Repository DbContextFactory
<<Interface>>
TDataModel
IRepository, IUnitOfWork
+GetEntities()
+SaveEntities()
<<Attribute>>
ServiceAttribute
onCodeDesign.com/implementing-clean-architecture
Patterns on how most of the code is written
[Service(typeof (IOrderingService))]
private class OrderingService : IOrderingService
{
private readonly IRepository repository;
private readonly IPriceCalculator calculator;
private readonly IApprovalService orderApproval;
public OrderingService(IRepository repository, IPriceCalculator calculator, IApprovalService orderApproval)
{
this.repository = repository;
this.calculator = calculator;
this.orderApproval = orderApproval;
}
public SalesOrderInfo[] GetOrdersInfo(string customerName)
{
var orders = repository.GetEntities<SalesOrderHeader>()
...
return orders.ToArray();
}
public SalesOrderResult PlaceOrder(string customerName, OrderRequest request)
{
...
}
}
onCodeDesign.com/implementing-clean-architecture
Create Development Patterns in Code
onCodeDesign.com/implementing-clean-architecture
/iQuarc
Implementing Clean Architecture through Structure
External
Interfaces
UI Frameworks
Devices
Controllers
Entities
Entities
Use Cases
<<Attribute>>
<<Attribute>>
ServiceAttribute
RepositoryImpl
+ GetEntities<T>() : IQueriable()
+ SaveChanges()
Hide external frameworks to enforce the way they are used
Use assemblies and references among them to enforce rules
Enforce Constructor Dependency Injection that encourages
Programming Against Interfaces
/iQuarc
onCodeDesign.com/implementing-clean-architecture
Drive predictability through Software Design
Implementing Clean Architecture
PeakIT - Brașov, 2024
florin@onCodeDesign.com
linkedin.com/in/florincoros
oncodedesing.com/training
oncodedesing.com/implementing-clean-
architecture
calendly.com/florin-oncodedesign/short-call
Florin
Coroș
Software Architect Consultant
Technical Trainer

More Related Content

Similar to Implementing Clean Architecture Supported by Structure

3D Web Visualization 1
3D Web Visualization 13D Web Visualization 1
3D Web Visualization 1
shilpabhartiyaPrototech
 
3D Web Visualization
3D Web Visualization 3D Web Visualization
3D Web Visualization
ProtoTech Solutions
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
WSO2
 
Enforce Consistentcy with Clean Architecture
Enforce Consistentcy with Clean ArchitectureEnforce Consistentcy with Clean Architecture
Enforce Consistentcy with Clean Architecture
Florin Coros
 
14856549.ppt
14856549.ppt14856549.ppt
14856549.ppt
RiskRangers
 
Dart on Arm - Flutter Bangalore June 2021
Dart on Arm - Flutter Bangalore June 2021Dart on Arm - Flutter Bangalore June 2021
Dart on Arm - Flutter Bangalore June 2021
Chris Swan
 
ITCamp 2018 - Florin Coros - ‘Cloud Ready’ Design through Application Softwar...
ITCamp 2018 - Florin Coros - ‘Cloud Ready’ Design through Application Softwar...ITCamp 2018 - Florin Coros - ‘Cloud Ready’ Design through Application Softwar...
ITCamp 2018 - Florin Coros - ‘Cloud Ready’ Design through Application Softwar...
ITCamp
 
‘Cloud Ready’ Design through Application Software Infrastructure
‘Cloud Ready’ Design through Application Software Infrastructure‘Cloud Ready’ Design through Application Software Infrastructure
‘Cloud Ready’ Design through Application Software Infrastructure
Florin Coros
 
internship presentation 1.pptx
internship presentation 1.pptxinternship presentation 1.pptx
internship presentation 1.pptx
ShobhaByadagi
 
Resume: DevOps/Technology Architect - Satya Prakash
Resume: DevOps/Technology Architect   -  Satya PrakashResume: DevOps/Technology Architect   -  Satya Prakash
Resume: DevOps/Technology Architect - Satya Prakash
SatyaPrakash454
 
Enforce Consistency through Application Infrastructure - Florin Coros
Enforce Consistency through Application Infrastructure - Florin CorosEnforce Consistency through Application Infrastructure - Florin Coros
Enforce Consistency through Application Infrastructure - Florin Coros
ITCamp
 
Enforce Consistency through Application Infrastructure
Enforce Consistency through Application InfrastructureEnforce Consistency through Application Infrastructure
Enforce Consistency through Application Infrastructure
Florin Coros
 
2021 12-03 TOGAF for Developers
2021 12-03 TOGAF for Developers2021 12-03 TOGAF for Developers
2021 12-03 TOGAF for Developers
Ryan M Harrison
 
Pattern driven Enterprise Architecture
Pattern driven Enterprise ArchitecturePattern driven Enterprise Architecture
Pattern driven Enterprise Architecture
WSO2
 
Build your mobile architecture in Oracle Cloud
Build your mobile architecture in Oracle CloudBuild your mobile architecture in Oracle Cloud
Build your mobile architecture in Oracle Cloud
Ruben Rodriguez
 
goPaddle Quick Introduction
goPaddle Quick IntroductiongoPaddle Quick Introduction
goPaddle Quick Introduction
Vinothini Raju
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
WSO2
 
VLSI Training presentation
VLSI Training presentationVLSI Training presentation
VLSI Training presentationDaola Khungur
 
INFORMATION TECHNOLOGY MODEL FOR PRODUCT LIFECYCLE ENGINEERING
INFORMATION TECHNOLOGY MODEL FOR PRODUCT LIFECYCLE ENGINEERINGINFORMATION TECHNOLOGY MODEL FOR PRODUCT LIFECYCLE ENGINEERING
INFORMATION TECHNOLOGY MODEL FOR PRODUCT LIFECYCLE ENGINEERING
cscpconf
 

Similar to Implementing Clean Architecture Supported by Structure (20)

3D Web Visualization 1
3D Web Visualization 13D Web Visualization 1
3D Web Visualization 1
 
3D Web Visualization
3D Web Visualization 3D Web Visualization
3D Web Visualization
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Enforce Consistentcy with Clean Architecture
Enforce Consistentcy with Clean ArchitectureEnforce Consistentcy with Clean Architecture
Enforce Consistentcy with Clean Architecture
 
14856549.ppt
14856549.ppt14856549.ppt
14856549.ppt
 
Dart on Arm - Flutter Bangalore June 2021
Dart on Arm - Flutter Bangalore June 2021Dart on Arm - Flutter Bangalore June 2021
Dart on Arm - Flutter Bangalore June 2021
 
ITCamp 2018 - Florin Coros - ‘Cloud Ready’ Design through Application Softwar...
ITCamp 2018 - Florin Coros - ‘Cloud Ready’ Design through Application Softwar...ITCamp 2018 - Florin Coros - ‘Cloud Ready’ Design through Application Softwar...
ITCamp 2018 - Florin Coros - ‘Cloud Ready’ Design through Application Softwar...
 
‘Cloud Ready’ Design through Application Software Infrastructure
‘Cloud Ready’ Design through Application Software Infrastructure‘Cloud Ready’ Design through Application Software Infrastructure
‘Cloud Ready’ Design through Application Software Infrastructure
 
Dhiraj_Kalra
Dhiraj_KalraDhiraj_Kalra
Dhiraj_Kalra
 
internship presentation 1.pptx
internship presentation 1.pptxinternship presentation 1.pptx
internship presentation 1.pptx
 
Resume: DevOps/Technology Architect - Satya Prakash
Resume: DevOps/Technology Architect   -  Satya PrakashResume: DevOps/Technology Architect   -  Satya Prakash
Resume: DevOps/Technology Architect - Satya Prakash
 
Enforce Consistency through Application Infrastructure - Florin Coros
Enforce Consistency through Application Infrastructure - Florin CorosEnforce Consistency through Application Infrastructure - Florin Coros
Enforce Consistency through Application Infrastructure - Florin Coros
 
Enforce Consistency through Application Infrastructure
Enforce Consistency through Application InfrastructureEnforce Consistency through Application Infrastructure
Enforce Consistency through Application Infrastructure
 
2021 12-03 TOGAF for Developers
2021 12-03 TOGAF for Developers2021 12-03 TOGAF for Developers
2021 12-03 TOGAF for Developers
 
Pattern driven Enterprise Architecture
Pattern driven Enterprise ArchitecturePattern driven Enterprise Architecture
Pattern driven Enterprise Architecture
 
Build your mobile architecture in Oracle Cloud
Build your mobile architecture in Oracle CloudBuild your mobile architecture in Oracle Cloud
Build your mobile architecture in Oracle Cloud
 
goPaddle Quick Introduction
goPaddle Quick IntroductiongoPaddle Quick Introduction
goPaddle Quick Introduction
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
VLSI Training presentation
VLSI Training presentationVLSI Training presentation
VLSI Training presentation
 
INFORMATION TECHNOLOGY MODEL FOR PRODUCT LIFECYCLE ENGINEERING
INFORMATION TECHNOLOGY MODEL FOR PRODUCT LIFECYCLE ENGINEERINGINFORMATION TECHNOLOGY MODEL FOR PRODUCT LIFECYCLE ENGINEERING
INFORMATION TECHNOLOGY MODEL FOR PRODUCT LIFECYCLE ENGINEERING
 

Recently uploaded

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 

Recently uploaded (20)

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

Implementing Clean Architecture Supported by Structure