This document discusses the abstract factory pattern, which provides an interface for creating families of related objects without specifying their concrete classes. It describes the intent, applicability, structure, participants, and consequences of the pattern. It also includes sample code that demonstrates how to implement an abstract factory for a maze game, including creating a base MazeFactory class and deriving an EnchantedMazeFactory class from it. The document is intended to explain the abstract factory pattern and how it can be used to configure a system with one of multiple families of products.
This article covers the structure of Visual C++ project model (VCProject). Also included are the cases of using the project model for enumeration of project elements and obtaining their compilation properties through the corresponding configurations.
Every application has some basic interactive interface for the user. For example, a button, check-box, radio-button, text-field, etc. These together form the components in Swing.
This article covers the structure of Visual C++ project model (VCProject). Also included are the cases of using the project model for enumeration of project elements and obtaining their compilation properties through the corresponding configurations.
Every application has some basic interactive interface for the user. For example, a button, check-box, radio-button, text-field, etc. These together form the components in Swing.
This presentation provide information to understand factory method pattern, it’s various implementation and Applicability. Major focus is on implementation of factory method pattern using reflection and without reflection.
Every time we generate an Angular app with schematics it contains a set of Angular builders that can be used out of the box. By the time your application grows you will need a set of tasks that can automate processes such as generate the documentation, deploy an image on docker, or deploy the app on a k8s cluster. These tasks can be executed as Angular custom builders. This talk will show you how to create a custom Angular builder step by step with an overview of what is a monorepo and its benefits. At the end of the talk, we will be able to run our custom builder by running the command ng run my-app:custom-builder
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...Thomas Weller
Intro to the MSTest framework (aka. Visual Studio Unit Testing), some additional tools (e.g. Moq, Moles, White), how this is supported in Visual Studio, and how it integrates into the broader context of the TFS environment.
Time has come to announce our first pilot event.
And we are gonna start with our the most favourite topic - test automation <3
In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design.
And what occurring problem are we as QA engineers facing all the time? Right! Test automation frameworks.
So we will tell you a bit which design patterns can be used in test automation, why and where (not only Page Object pattern, we promise!) to make your tests shine!
The link to GitHub repo with test automation patterns used is to be shared during the webinar.
Builder Design Pattern (Generic Construction -Different Representation)Sameer Rathoud
Generic Construction -Different Representation
This presentation provide information to understand builder design pattern, it’s structure, it’s implementation.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Abstract factory petterns
1. Department of Computer Science & Engineering in Hanyang University SINCE 2006
Abstract Factor y
HPC and OT Lab.
23.Jan.2007.
M.S. 1st Choi, Hyeon Seok
1
2. Contents
Creational Patterns
Introduction
Structure, Participants and Collaborations
Consequences
Implementation
Sample code
Related Patterns
References
High Performance Computing & Object Technology Laboratory in CSE 2
3. Creational Patterns
Themes
All encapsulate knowledge about which concrete classes
the system uses
Hide how instances of these classes are created and put
together
Creational patterns scope
Class : Use inheritance to vary the class that’s
instantiated
Object : Delegate instantiation to another object
High Performance Computing & Object Technology Laboratory in CSE 3
4. Intent of Abstract Factory
Provide an interface for creating families of related
or dependent objects without specifying their
concrete classes.
WidgetFactory
+CreateScrollBar() Clien
+CreateWindow()
Window
PMWindow MotifWindonw
MotifWidgetFactory PMWidgetFactory
+CreateScrollBar() +CreateScrollBar()
+CreateWindow() +CreateWindow()
ScrollBar
PMScrollBar MotifScrollBar
High Performance Computing & Object Technology Laboratory in CSE 4
5. Applicability
Independent of how its objects are created,
composed, and represented
Configured with one of multiple families of
products.
A family of related objects is designed to be used
together, and you need to enforce this constraint.
Provide a class library of products, and you want to
reveal just their interfaces, not implementations.
High Performance Computing & Object Technology Laboratory in CSE 5
7. Consequences
Advantages
Isolate concrete classes.
Make exchanging product families easy.
Promote consistency among products.
Disadvantages
Supporting new kinds of products is difficult.
High Performance Computing & Object Technology Laboratory in CSE 7
8. Implementation (1/2)
Factories as singletons
Application needs only one instance of a
ConcreteFactory
Creating the products
ConcreteProduct define a factory method for each
object.
If many product families are possible, the concrete
factory can be implemented using the prototype pattern.
Defining extensible factories
Add a parameter to operation that create objects
ex) Object make (ObjectType type);
High Performance Computing & Object Technology Laboratory in CSE 8
10. Sample code (1/5)
---
[MazeGame::CreateMaze]--------------------------------------------
Maze *MazeGame::CreateMaze()
{
Maze *aMaze = new Maze();
Room *r1 = new Room(1);
Room *r2 = new Room(2);
Door *theDoor = new Door(r1, r2);
aMaze->AddRoom(r1);
aMaze->AddRoom(r2); // add room
r1->SetSide(North, new Wall); // set side
r1->SetSide(East, theDoor);
r1->SetSide(South, new Wall);
r1->SetSide(West, new Wall);
r2->SetSide(North, new Wall);
r2->SetSide(East, new Wall);
r2->SetSide(South, new Wall);
r2->SetSide(West, theDoor);
return aMaze;
};
High Performance Computing & Object Technology Laboratory in CSE 10
11. Sample code (2/5)
---[Class
MazeFactory]-----------------------------------------------
class MazeFactory
{
public:
MazeFactory();
// Factory method
virtual Maze *MakeMaze() const
{
return new Maze;
}
virtual Wall *MakeWall() const
{
return new Wall;
}
virtual Room *MakeRoom(int n) const
{
return new Room(n);
}
virtual Door *MakeDoor(Room *r1, Room *r2) const
{
return new Door(r1, r2);
}
};
High Performance Computing & Object Technology Laboratory in CSE 11
13. Sample code (4/5)
---[class
EnchantedMazeFactory]--------------------------------------
class EnchantedMazeFactory: public MazeFactory
{
public:
EnchantedMazeFactory();
// overrided to factory method
virtual Room *MakeRoom(int n) const
{
return new EnchantedRoom(n, CastSpell());
}
virtual Door *MakeDoor(Room *r1, Room *r2) const
{
return new DoorNeedingSpell(r1, r2);
}
protected:
Spell *CastSpell() const;
};
High Performance Computing & Object Technology Laboratory in CSE 13
14. Sample code (5/5)
---[class BombedMazeFactory]--------------------------------------
class BombedMazeFactory: public MazeFactory
{
public:
BombedMazeFactory();
// overrided to factory method
virtual Wall *MakeWall() const
{
return new BombedWall;
}
virtual Room *MakeRoom(int n) const
{
return new RoomWithABomb(n);
}
};
MazeGame game;
BombedMazeFactory factory;
game.CreateMaze(factory);
High Performance Computing & Object Technology Laboratory in CSE 14
15. Related Patterns
Abstract Factory classes are often implemented
with Factory method
Abstract Factory and Factory can be implemented
using Prototype
A Concrete factory is often a Singleton
High Performance Computing & Object Technology Laboratory in CSE 15
16. References
[1] Erich Gamma, Richard Helm, Ralph Johnson, John
Vlissides: Design Patterns Elements of Reusable Object-
Oriented Software. Addison Wesley, 2000
[2] 장세찬 : C++ 로 배우는 패턴의 이해와 활용 . 한빛 미디어 ,
2004
[3] Eric Freeman, Elisabeth Freeman, 서환수 역 : Head First
Design Patterns. 한빛 미디어 , 2005
High Performance Computing & Object Technology Laboratory in CSE 16