<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Acbrady</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Acbrady"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Acbrady"/>
	<updated>2026-05-23T12:06:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42953</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42953"/>
		<updated>2010-12-01T02:59:36Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Document Plugin===&lt;br /&gt;
Consider the example of an editor that is designed to open and edit different file types, as shown in Figure 1.  The document type can be implemented as a type in the core application and document plugins can be designed to implement the interface for specific document types.  As new document types are required, the responsibility for supporting the variations is shifted externally to the document plugin.&lt;br /&gt;
&lt;br /&gt;
[[Image:DocPlugin.PNG]]&lt;br /&gt;
&lt;br /&gt;
''Figure 1. Document Plugin''&lt;br /&gt;
&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Medical Data Printing===&lt;br /&gt;
A medical data reporting system (Figure 2) is developed to take in different types of medical test results and print the results to a report.  Different medical results may need to be handled in different ways, with some being formatted as numbers, some indicating a pass fail, some represented on a graph, etc.  The medical result could be wrapped in an interface by the reporting system and implemented for each result type.&lt;br /&gt;
&lt;br /&gt;
[[Image:MedicalResults.PNG]]&lt;br /&gt;
&lt;br /&gt;
''Figure 2. Medical Report System''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:MedicalResults.PNG&amp;diff=42952</id>
		<title>File:MedicalResults.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:MedicalResults.PNG&amp;diff=42952"/>
		<updated>2010-12-01T02:58:32Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42951</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42951"/>
		<updated>2010-12-01T02:58:22Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* example 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Document Plugin===&lt;br /&gt;
Consider the example of an editor that is designed to open and edit different file types, as shown in Figure 1.  The document type can be implemented as a type in the core application and document plugins can be designed to implement the interface for specific document types.  As new document types are required, the responsibility for supporting the variations is shifted externally to the document plugin.&lt;br /&gt;
&lt;br /&gt;
[[Image:DocPlugin.PNG]]&lt;br /&gt;
&lt;br /&gt;
''Figure 1. Document Plugin''&lt;br /&gt;
&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
===Medical Data Printing===&lt;br /&gt;
A medical data reporting system is developed to take in different types of medical test results and print the results to a report.  Different medical results may need to be handled in different ways, with some being formatted as numbers, some indicating a pass fail, some represented on a graph, etc.  The medical result could be wrapped in an interface by the reporting system and implemented for each result type.&lt;br /&gt;
&lt;br /&gt;
[[Image:MedicalResults.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42950</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42950"/>
		<updated>2010-12-01T02:41:59Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Document Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Document Plugin===&lt;br /&gt;
Consider the example of an editor that is designed to open and edit different file types, as shown in Figure 1.  The document type can be implemented as a type in the core application and document plugins can be designed to implement the interface for specific document types.  As new document types are required, the responsibility for supporting the variations is shifted externally to the document plugin.&lt;br /&gt;
&lt;br /&gt;
[[Image:DocPlugin.PNG]]&lt;br /&gt;
&lt;br /&gt;
''Figure 1. Document Plugin''&lt;br /&gt;
&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42949</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42949"/>
		<updated>2010-12-01T02:41:49Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Document Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Document Plugin===&lt;br /&gt;
Consider the example of an editor that is designed to open and edit different file types, as shown in Figure 1.  The document type can be implemented as a type in the core application and document plugins can be designed to implement the interface for specific document types.  As new document types are required, the responsibility for supporting the variations is shifted externally to the document plugin.&lt;br /&gt;
&lt;br /&gt;
[[Image:DocPlugin.PNG]]&lt;br /&gt;
''Figure 1. Document Plugin''&lt;br /&gt;
&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42948</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42948"/>
		<updated>2010-12-01T02:39:07Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Document Plugin===&lt;br /&gt;
Consider the example of an editor that is designed to open and edit different file types.  The document type can be implemented as a type in the core application and document plugins can be designed to implement the interface for specific document types.&lt;br /&gt;
&lt;br /&gt;
[[Image:DocPlugin.PNG]]&lt;br /&gt;
&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42947</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42947"/>
		<updated>2010-12-01T02:27:58Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Document Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Document Plugin===&lt;br /&gt;
Consider the example of an editor that is designed to open and edit different file types.  The document type can be implemented as a type in the core application and document plugins can be designed to implement the interface for specific document types.&lt;br /&gt;
&lt;br /&gt;
[[Image:DocPlugin.PNG]]&lt;br /&gt;
&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:DocPlugin.PNG&amp;diff=42946</id>
		<title>File:DocPlugin.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:DocPlugin.PNG&amp;diff=42946"/>
		<updated>2010-12-01T02:25:09Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42944</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42944"/>
		<updated>2010-12-01T02:23:54Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Document Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Document Plugin===&lt;br /&gt;
Consider the example of an editor that is designed to open and edit different file types.  The document type can be implemented as a type in the core application and document plugins can be designed to implement the interface for specific document types.&lt;br /&gt;
&lt;br /&gt;
[[Image:DocPlugin.png]]&lt;br /&gt;
&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42943</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42943"/>
		<updated>2010-12-01T02:23:31Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Document Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Document Plugin===&lt;br /&gt;
Consider the example of an editor that is designed to open and edit different file types.  The document type can be implemented as a type in the core application and document plugins can be designed to implement the interface for specific document types.&lt;br /&gt;
&lt;br /&gt;
[[Image:DocPlugin.png]]&lt;br /&gt;
[[Image:CVCSvsDVCS.png |center| Distributed VCS versus Centralized CVS]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42942</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42942"/>
		<updated>2010-12-01T02:22:39Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Document Plugin===&lt;br /&gt;
Consider the example of an editor that is designed to open and edit different file types.  The document type can be implemented as a type in the core application and document plugins can be designed to implement the interface for specific document types.&lt;br /&gt;
&lt;br /&gt;
[[Image:DocPlugin.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42941</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42941"/>
		<updated>2010-12-01T02:20:44Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Document Plugin===&lt;br /&gt;
Consider the example of an editor that is designed to open and edit different file types.  The document type can be implemented as a type in the core application and document plugins can be designed to implement the interface for specific document types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42940</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42940"/>
		<updated>2010-12-01T02:15:18Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===example 1===&lt;br /&gt;
In this case, the Protected Variations pattern is similar to the Adapter pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42939</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42939"/>
		<updated>2010-12-01T02:11:53Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  It is very broad in its scope.  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===eee===&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42938</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42938"/>
		<updated>2010-12-01T02:11:16Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* example 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===eee===&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42937</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42937"/>
		<updated>2010-12-01T02:10:37Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]  The variations that are addressed could be data type, data format, different calculations, different object types, etc.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===example 1===&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42936</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42936"/>
		<updated>2010-12-01T02:09:06Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Advantages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===example 1===&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations of a particular module to handle a specific variation can be added to the software without impacting client software.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling between different parts of the software system are lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]][[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The cost of changes to the system can be lowered by ensuring that new variations can be supported by only adding a new implementation of the interface.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42935</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42935"/>
		<updated>2010-12-01T01:59:28Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Advantages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===example 1===&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42934</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42934"/>
		<updated>2010-12-01T01:58:48Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are present in the programming languages for similar reasons as the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===example 1===&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42933</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42933"/>
		<updated>2010-12-01T01:57:42Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are similar in nature to the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===example 1===&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
• Increases the complexity of the design by requiring the interface and implementations to be separate&lt;br /&gt;
&lt;br /&gt;
• Forces the programmer to spend extra development time during initial programming development to ensure that the interface is generic enough to handle future implementations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42932</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42932"/>
		<updated>2010-12-01T01:54:59Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are similar in nature to the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===example 1===&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42931</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42931"/>
		<updated>2010-12-01T01:54:35Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The basic object-oriented programming concepts of data encapsulation, interfaces, and polymorphism are all mechanisms that are similar in nature to the Protected Variations pattern.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===example 1===&lt;br /&gt;
&lt;br /&gt;
===example 2===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42930</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42930"/>
		<updated>2010-12-01T01:46:40Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
&lt;br /&gt;
[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42929</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42929"/>
		<updated>2010-12-01T01:46:02Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
&lt;br /&gt;
[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.[[#References|&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42928</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42928"/>
		<updated>2010-12-01T01:44:17Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.[[#References|&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;]]  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
&lt;br /&gt;
[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42927</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42927"/>
		<updated>2010-12-01T01:43:23Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
&lt;br /&gt;
[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42926</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42926"/>
		<updated>2010-12-01T01:42:49Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].  Any object that presents a potential instability within the system due to variations of type is implemented with an interface and [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) is used to wrap the type.  The interface could be a small enough to cover only one method or a very broad piece of the total subsystem.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
&lt;br /&gt;
[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42925</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42925"/>
		<updated>2010-12-01T01:30:57Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
&lt;br /&gt;
[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
•Coupling is lowered.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42924</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42924"/>
		<updated>2010-12-01T01:29:40Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Coupling is lowered.&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
&lt;br /&gt;
[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
•New implementations can be introduced without affecting clients.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42923</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42923"/>
		<updated>2010-12-01T01:05:41Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
&lt;br /&gt;
•New implementations can be introduced without affecting clients.&lt;br /&gt;
&lt;br /&gt;
•Coupling is lowered.&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
&lt;br /&gt;
[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
&lt;br /&gt;
==Disadvantages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42922</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42922"/>
		<updated>2010-12-01T00:06:05Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex. There is an assigned reading that goes into depth on the topic. We will examine this pattern from the discussion of the reading.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
&lt;br /&gt;
•New implementations can be introduced without affecting clients.&lt;br /&gt;
&lt;br /&gt;
•Coupling is lowered.&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
&lt;br /&gt;
•Related patterns are most of the GoF.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42921</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42921"/>
		<updated>2010-12-01T00:05:09Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Section 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex. There is an assigned reading that goes into depth on the topic. We will examine this pattern from the discussion of the reading.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
&lt;br /&gt;
•New implementations can be introduced without affecting clients.&lt;br /&gt;
&lt;br /&gt;
•Coupling is lowered.&lt;br /&gt;
&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
&lt;br /&gt;
•Related patterns are most of the GoF.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42920</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42920"/>
		<updated>2010-11-30T18:25:54Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Section 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex. There is an assigned reading that goes into depth on the topic. We will examine this pattern from the discussion of the reading.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] (discussed in chapter 3) to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
•New implementations can be introduced without affecting clients.&lt;br /&gt;
•Coupling is lowered.&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
•Related patterns are most of the GoF.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42919</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42919"/>
		<updated>2010-11-30T18:25:09Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Section 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex. There is an assigned reading that goes into depth on the topic. We will examine this pattern from the discussion of the reading.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2010/ch3_3i_ls#Polymorphism_and_types polymorphism] to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
•New implementations can be introduced without affecting clients.&lt;br /&gt;
•Coupling is lowered.&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
•Related patterns are most of the GoF.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42918</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42918"/>
		<updated>2010-11-30T18:24:31Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Section 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex. There is an assigned reading that goes into depth on the topic. We will examine this pattern from the discussion of the reading.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using [/ch3_3i_ls#Polymorphism_and_types polymorphism] to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
•New implementations can be introduced without affecting clients.&lt;br /&gt;
•Coupling is lowered.&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
•Related patterns are most of the GoF.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42917</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42917"/>
		<updated>2010-11-30T18:23:28Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex. There is an assigned reading that goes into depth on the topic. We will examine this pattern from the discussion of the reading.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism[ch3_3i_ls#Polymorphism_and_types] to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
•New implementations can be introduced without affecting clients.&lt;br /&gt;
•Coupling is lowered.&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
•Related patterns are most of the GoF.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42916</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42916"/>
		<updated>2010-11-30T18:19:03Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Section 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex. There is an assigned reading that goes into depth on the topic. We will examine this pattern from the discussion of the reading.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
•Problem: How to design objects, subsystems and systems so that the variations or instability in these elements does not have an undesirable impact on other elements.&lt;br /&gt;
•Solution: Identify points of predicted variation or instability; assign responsibilities to create a stable interface (or protection mechanism) around them.&lt;br /&gt;
•Data encapsulation, interfaces, polymorphism, indirection and standards are motivated by PV.&lt;br /&gt;
•Technology like Service Lookup is an example of PV because clients are protected from variations in the location of services using the lookup service.&lt;br /&gt;
•Externalizing properties in a property file is another example of PV.&lt;br /&gt;
•Extensions required for new variations are easy to add.&lt;br /&gt;
•New implementations can be introduced without affecting clients.&lt;br /&gt;
•Coupling is lowered.&lt;br /&gt;
•The impact of cost of changes can be lowered.&lt;br /&gt;
•Related patterns are most of the GoF.[[#References|&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42915</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42915"/>
		<updated>2010-11-30T18:18:16Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Section 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex. There is an assigned reading that goes into depth on the topic. We will examine this pattern from the discussion of the reading.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.[[#References|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42914</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42914"/>
		<updated>2010-11-30T18:17:25Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Section 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations addresses the problem of assigning responsibilities in such a way that variations that might occur do not have undesirable effects upon other elements in the system.&lt;br /&gt;
The solution is to identify the points of predicted variation or instability and assign responsibilities to create a stable interface around them. In this case, interface is used in the broadest sense. It might be a complete subsystem fronting a much larger set of variable subsystem.This pattern, or rule, is very broad and complex. There is an assigned reading that goes into depth on the topic. We will examine this pattern from the discussion of the reading.[[#References|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42913</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42913"/>
		<updated>2010-11-30T18:15:25Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Upper Saddle River, NJ, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42912</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42912"/>
		<updated>2010-11-30T18:12:19Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used.[[#References|&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, city, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42911</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42911"/>
		<updated>2010-11-30T18:09:13Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
Protected Variations decouples clients from the changes in the system being&lt;br /&gt;
used. [4]&amp;lt;ref&amp;gt;Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, city, 2004&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
[4] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, city, 2004&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACM books&lt;br /&gt;
Authors. Title. Publisher, City of Publication, Year of Publication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42895</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42895"/>
		<updated>2010-11-30T17:47:42Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42893</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42893"/>
		<updated>2010-11-30T17:46:10Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42892</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42892"/>
		<updated>2010-11-30T17:45:50Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[1] http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
[2] http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
[3] http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42891</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42891"/>
		<updated>2010-11-30T17:45:02Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TO BE REMOVED (included for development reference only)==&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42890</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42890"/>
		<updated>2010-11-30T17:39:11Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern is a specific example of a [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] [http://en.wikipedia.org/wiki/Design_pattern_(computer_science) design pattern].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==Section 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42888</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42888"/>
		<updated>2010-11-30T17:36:24Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: /* Protected Variations Pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
The Protected Variations pattern is one of the [http://en.wikipedia.org/wiki/GRASP_(object-oriented_design) GRASP] design patterns.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==Section 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42887</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42887"/>
		<updated>2010-11-30T17:20:00Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Protected Variations Pattern=&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Section 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Section 2==&lt;br /&gt;
&lt;br /&gt;
==Section 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42812</id>
		<title>CSC/ECE 517 Fall 2010/ch7 7e ab</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2010/ch7_7e_ab&amp;diff=42812"/>
		<updated>2010-11-29T19:27:13Z</updated>

		<summary type="html">&lt;p&gt;Acbrady: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protected Variations pattern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7e.  Protected Variations pattern.  This is one of the GRASP patterns.  Wikipedia: The Protected Variations pattern protects elements from the variations on other elements (objects, systems, subsystems) by wrapping the focus of instability with an interface and using polymorphism to create various implementations of this interface.  Describe the pattern, and give examples of its use.&lt;br /&gt;
&lt;br /&gt;
http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/ProtectedVariations.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Protected_Variations&lt;br /&gt;
&lt;br /&gt;
http://www.objectsbydesign.com/books/larman_notes/6-DesignAndImplementationTechniques.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Originality. Chapter is not constructed by copy-and-paste, but rather is the writer's own work. Nor does it duplicate the organization of Wikipedia's article, or any other description of the topic. Rather, it should be presented in a way that differs from each of the sources.&lt;br /&gt;
&lt;br /&gt;
Clarity. The language should be simple and basic. Sentences should be short enough to be understood by a student in this class without rereading. Jargon should be avoided, except for technical terms that are introduced before being used. For a more technical treatment, the reader should be referred to appropriate sources.&lt;br /&gt;
&lt;br /&gt;
Coverage. All relevant material should be discussed, at about the same level of detail. If it is too involved, it is OK to reference external sources, but the entire chapter should not consist of references. Earlier sections should not be covered in more depth than later sections.&lt;br /&gt;
&lt;br /&gt;
Organization. The chapter should begin with an overview suitable for readers who are new to the topic, and proceed from simpler material to more involved. The progression should be logical, and should not jump from one topic to another without transition.&lt;br /&gt;
&lt;br /&gt;
Definitions. Definitions should be clear and concise, and should be supported by explanations or examples. Definitions should be just that--not descriptions. Definitions should should be composed by the author, not taken from other textbooks.&lt;br /&gt;
&lt;br /&gt;
Examples. Examples should be clear, succinct, and unambiguous. Diagrams and realistic examples are encouraged, but diagrams need to be explained with accompanying text.&lt;br /&gt;
&lt;br /&gt;
Citations. All major concepts should have citations to more detailed treatments. Citations should include a good mix of sources, such as Web sites, scientific papers, and books. Citations should be in a common format, such as ACM reference format; do not use just a Web link without any title or author.&lt;br /&gt;
&lt;br /&gt;
Diagrams. If the coverage of this topic would benefit from diagrams, are sufficient diagrams included? Are they easily understandable and well explained?&lt;br /&gt;
&lt;br /&gt;
Flow. Chapters should build on--and reference--earlier chapters. Coverage in this chapter should not duplicate earlier chapters, but use hyperlinks to refer to those earlier sections.&lt;br /&gt;
&lt;br /&gt;
Accuracy. Is the information in this chapter consistent with other descriptions of the same material? Can any errors be identified? Is information purported to be factual indeed a matter of fact rather than opinion?&lt;/div&gt;</summary>
		<author><name>Acbrady</name></author>
	</entry>
</feed>