Edited, memorised or added to reading list

on 15-Jun-2020 (Mon)

Do you want BuboFlash to help you learning these things? Click here to log in or create user.

Plain Old CLR Object (POCO) Plain Old C# Object as it’s sometimes referred to, is a simple class created in C# or another language which is free from dependencies on an external framework.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




In DI terminology, we often talk about services and components. Abstraction service is typically an Abstraction , a definition for something that provides a service. An implementation of an Abstraction is often called a component, a class that contains behavior. Because both service and component are such overloaded terms, throughout this book, you’ll typically see us use the terms “Abstraction ” and “class” instead.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




An excellent way to make code more maintainable is through loose coupling. As far back as 1994, when the Gang of Four wrote Design Patterns, this was already common knowledge: 2 Program to an interface, not an implementation.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




late binding refers to the ability to replace parts of an application with- out recompiling the code. An application that enables third-party add-ins (such as Visual Studio) is one example. Another example is the standard software that supports different runtime environments. Suppose you have an application that runs on more than one database engine (for example, one that supports both Oracle and SQL Server)

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




Abstract Factory An Abstract Factory is typically an AbstrAction that contains multiple methods, where each method allows the creation of an object of a certain kind. 3 A typical use case for the Abstract Factory pattern is for user interface (UI) toolkits or client applications that must be run on multiple platforms. To achieve a high degree of code reusability on all platforms, you could, for example, define an IUIControlFactory AbstrAction that allows the creation of certain kinds of controls like text boxes and but- tons for consumers: public interface IUIControlFactory { IButton CreateButton(); ITextBox CreateTextBox(); } For each operating system (OS), you could have a different implementation of this IUIControlFactory . In this case, there are only two factory methods, but depending on the application or toolkit, there could be many more. An important point to note is that an Abstract Factory specifies a predefined list of factory methods.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




collaborating classes should rely on infrastructure to provide necessary services.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




public interface IServiceLocator {
object GetService(Type serviceType);
}

IMPORTANT If you thought of DI as a Service Locator (that is, a general-pur- pose factory), then this is something you need to unlearn. DI is the opposite of a Service Locator ; it’s a way to structure code so that you never have to imper- atively ask for Deps. Rather, you require consumers to supply them.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




Pure DI is the practice of applying DI without a DI Container

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




liSkOv SubSTiTuTiON priNCiplE It’s amazing that the concept of a socket predates computers by decades, and yet it pro- vides an essential service to computers. The original designers of sockets couldn’t possi- bly have foreseen personal computers, but because the design is so versatile, needs that were originally unanticipated can be met. The ability to switch plugs, or implementations, without requiring a change to the socket, or interface, is similar to a central software design principle called the Liskov substitution P rinciPLe. This principle states that we should be able to replace one implementation of an interface with another without breaking either the client or the implementation. When it comes to DI, the Liskov substitution PrinciPLe is one of the most important soft- ware design principles. It’s this principle that enables us to address requirements that occur in the future, even if we can’t foresee them today

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




concept of being able to extend an application without modifying existing code is called the Open/Closed P . It’s impossible to get to a situation where 100% of your code will always be open for extensibility and closed for modification. Still, loose coupling does bring you closer to that goal.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




Late binding:
- Services can be swapped with other services without recompiling code.
- Valuable in standard software, but per- haps less so in enterprise applications where the runtime environment tends to be well defined

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




As you learn DI, it can be helpful to categorize your Deps into Stable Deps and Volatile Deps.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




SEamS Everywhere you decide to program against an AbstrAction instead of a concrete type, you introduce a seAm into the application.
A seAm is a place where an application is assembled from its constituent parts, similar to the way a piece of clothing is sewn together at its seams.
It’s also a place where you can disassemble the application and work with the modules in isolation. The Hello DI! example we built in section 1.2 contains a seAm between Salutation and ConsoleMessageWriter
The Salutation class doesn’t directly depend on the Console MessageWriter class; rather, it uses the IMessageWriter interface to write the message. You can take the application apart at this seAm and reassemble it with a different message writer.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




The import- ant criteria for Stable Deps include the following:

  • The class or module already exists.
  • You expect that new versions won’t contain breaking changes.
  • The types in question contain deterministic algorithms.
  • You never expect to have to replace, wrap, decorate, or I the class or module with another.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




Referencing the di CONTaiNEr Di contAiners themselves might be considered either stAbLe DePenDencies or voLAtiLe D ePenDencies, depending on whether you want to replace them. When you decide to base your application on a particular Di contAiner, you risk being stuck with this choice for the entire lifetime of the application. That’s yet another reason why you should limit the use of the container to the application entry point. Only the entry point should reference the Di contAiner.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on

pdf

cannot see any pdfs




It’s important to make your components independent of the API response format.

statusnot read reprioritisations
last reprioritisation on reading queue position [%]
started reading on finished reading on




Flashcard 5537721879820

Question

A partir de un informe de riesgos con recomendaciones ¿Cuál de las siguientes opciones no debe seguir el auditor de seguridad?

a) Establecer medidas y controles para disminuir las propiedades de que sucedan eventos o que disminuyan el daño

b) Eliminar los riesgos en la medida de lo posible

c) Volver a pedir un informe donde se incluyan las medidas a tomar por parte de la organización

d) Derivar el riesgo a una organización externa

Answer
c) Volver a pedir un informe donde se incluyan las medidas a tomar por parte de la organización


statusnot learnedmeasured difficulty37% [default]last interval [days]               
repetition number in this series0memorised on               scheduled repetition               
scheduled repetition interval               last repetition or drill

pdf

cannot see any pdfs







Flashcard 5537723714828

Question

¿Cuál de las siguientes no es propia de la Auditoría Informática, y si del Control Interno?

a) El análisis se lleva a cavado en un momento informático determinado

b) Se informa a la dirección general de la organización

c) Sólo puede intervenir personal interno

d) Tiene cobertura sobre todos los componentes de los sistemas de información de una organización.

Answer
c) Sólo puede intervenir personal interno


statusnot learnedmeasured difficulty37% [default]last interval [days]               
repetition number in this series0memorised on               scheduled repetition               
scheduled repetition interval               last repetition or drill

pdf

cannot see any pdfs







Flashcard 5537728957708

Question

En la versión 3 de ITIL, ¿Cuál es el propósito de la fase de transición del Servicio?

a) Se encarga de la puesta en operación de los servicios previamente diseñados

b) Se encarga de definir qué servicios se prestarán, a que clientes y en qué mercados

c) Es responsable de desarrollar nuevos servicios o modificar los ya existentes, asegurando que cumplen los requisitos de los clientes y se adecuan a la estrategia predefinida

d) Es responsable de todas las tareas operativas y de mantenimiento del servicio, incluida la atención al cliente

Answer
a) Se encarga de la puesta en operación de los servicios previamente diseñados


statusnot learnedmeasured difficulty37% [default]last interval [days]               
repetition number in this series0memorised on               scheduled repetition               
scheduled repetition interval               last repetition or drill

pdf

cannot see any pdfs







Flashcard 5537730792716

Question

¿Qué punto del informe de auditoría no se considera esencial?

a) Normativa aplicada

b) Identificación del informe y del auditor

c) Informes previos

d) Lista de distribución del informe definitivo

Answer
c) Informes previos


statusnot learnedmeasured difficulty37% [default]last interval [days]               
repetition number in this series0memorised on               scheduled repetition               
scheduled repetition interval               last repetition or drill

pdf

cannot see any pdfs







Flashcard 5537734462732

Question

¿Qué beneficios tiene el realizar las mediciones de manera periódica y frecuente?

a) Nos permiten evaluar la calidad de los entregables, productos del software, etc..

b) Nos permiten examinar el producto de forma manual y directa

c) Nos permiten comprobar los tiempos de acceso a la aplicación

d) Todas las otras respuestas son correctas

Answer
a) Nos permiten evaluar la calidad de los entregables, productos del software, etc.


statusnot learnedmeasured difficulty37% [default]last interval [days]               
repetition number in this series0memorised on               scheduled repetition               
scheduled repetition interval               last repetition or drill

pdf

cannot see any pdfs







Flashcard 5537737084172

Question

La gestión de cambios con el modelo de ITIL V3 debe trabajar para asegurar que los cambios

a) Están justificados

b) Se llevan a cabo sin perjuicio de la calidad del servicio TI

c) Están convenientemente registrados, clasificados y documentados

d) Todas las otras opciones son correctas.

Answer
d) Todas las otras opciones son correctas.


statusnot learnedmeasured difficulty37% [default]last interval [days]               
repetition number in this series0memorised on               scheduled repetition               
scheduled repetition interval               last repetition or drill

pdf

cannot see any pdfs