Search Your Paper

Sunday, January 25, 2015




punjabtechnicaluniversity.blogspot.in


When one or many concerns span across module its called as cross cutting.Example in our audit trail example we will probably need to audit trail for customer as well as supplier.So Audit trail can span across other objects also that is termed as cross cutting. Below are both the classes actually implemented . 

If you see the “Update” method of the customer class , its doing both of the concerns that is checking
for customer code length and also maintaining the audit trail using the audit trail class.

Public Class ClsCustomer
Private pstrCustcode As String
Private pstrCustName As String
Public Property Code() As String
Get
Return pstrCustcode
End Get
Set(ByVal Value As String)
pstrCustcode = Value
End Set
End Property
Public Property CustomerName() As String
Get
Return pstrCustName
End Get
Set(ByVal Value As String)
pstrCustName = Value
End Set
End Property
Public Function Update() As Boolean
‘ first / core concern
If pstrCustcode.Length() > 10 Then
Throw New Exception("Value can not be greater than 10")
End If
' usingthe customer audit trail to do auditing
‘ second concern / system concern
Dim pobjClsAuditTrail As New ClsAuditTrail
With pobjClsAuditTrail
.NewValue = "1001"
.OldValue = "1003"
.UserName = "shiv"
.Update()
End With
' then inserting the customer in database
End Function
End Class
Public Class ClsAuditTrail
Private pstrUserName As String
Private pstrOldValue As String
Private pstrNewValue As String
Private pdblLogTime As Double
Public Property UserName() As String
Get
Return pstrUserName
End Get
Set(ByVal Value As String)
pstrUserName = Value
End Set
End Property
Public Property OldValue() As String
Get
Return pstrOldValue
End Get
Set(ByVal Value As String)
pstrOldValue = Value
End Set
End Property
Public Property NewValue() As String
Get
Return pstrNewValue
End Get
Set(ByVal Value As String)
pstrNewValue = Value
End Set
End Property
Public Property LogTime() As Double
Get
Return pdblLogTime
End Get
Set(ByVal Value As Double)
pdblLogTime = Value
End Set
End Property
Public Sub Update()
' do the logging activity here
End Sub
End Class


In short the customer class is doing lot of activity. There is lot of tangling of code. So how do we overcome this problem… Simple separate the System level concern (Audit Trail) from the core level concern
 ( Customer code check). This is achieved at this moment in .NET using attribute programming.

Here is the change to the customer class

Imports System.Reflection
Public Class ClsCustomer
Private pstrCustcode As String
Private pstrCustName As String
Public Property Code() As String
Get
Return pstrCustcode
End Get
Set(ByVal Value As String)
pstrCustcode = Value
End Set
End Property
Public Property CustomerName() As String
Get
Return pstrCustName
End Get
Set(ByVal Value As String)
pstrCustName = Value
End Set
End Property
<ClsAuditTrail("Shiv", "1001", "1003", 12)> _
Public Function Update() As Boolean
If pstrCustcode.Length() > 10 Then
Throw New Exception("Value can not be greater than 10")
End If
' usingthe customer audit trail to do auditing' then inserting the customer in database
End Function
End Class
And here is the change to the audit trail class
Imports System.Reflection
<AttributeUsage(AttributeTargets.All)> _
Public Class ClsAuditTrail
Inherits Attribute
Private pstrUserName As String
Private pstrOldValue As String
Private pstrNewValue As String
Private pdblLogTime As Double
Public Property UserName() As String
Get
Return pstrUserName
End Get
Set(ByVal Value As String)
pstrUserName = Value
End Set
End Property
Public Property OldValue() As String
Get
Return pstrOldValue
End Get
Set(ByVal Value As String)
pstrOldValue = Value
End Set
End Property
Public Property NewValue() As String
Get
Return pstrNewValue
End Get
Set(ByVal Value As String)
pstrNewValue = Value
End Set
End Property
Public Property LogTime() As Double
Get
Return pdblLogTime
End Get
Set(ByVal Value As Double)
pdblLogTime = Value
End Set
End Property
Public Sub New(ByVal pstrUserName As String, _
ByVal pstrOldValue As String, _
ByVal pstrnewValue As String, _
ByVal plng As Long)
Update()
End Sub
Public Sub Update()
' do the logging activity hereEnd Sub
End Class
The fun part of the code is below , you can see that the code audit trail is now seperate
and the code check belongs to the customer code.
<ClsAuditTrail("Shiv", "1001", "1003", 12)> _
Public Function Update() As Boolean
If pstrCustcode.Length() > 10 Then
Throw New Exception("Value can not be greater than 10")
End If
' using the customer audit trail to do auditing
' then inserting the customer in database
End Function


0 comments:

Post a Comment

North India Campus

Popular

Archive

North India Campus. Powered by Blogger.

Welcome to North India Campus

Search Question Paper

Labels

1st & 2nd Semester BE 1st Semester B.Com 1st Semester BBA 1st Semester BCA (D) 1st Semester Bsc. IT (D) 1st Semester Bsc. IT 1 1ST Semester M.SC IT(D) 1st Semester M.Tech 1ST Semester MBA 1st Semester MCA 1st Semester MCA (D) 2nd Sem B.Com 2nd Sem BB 2nd Sem BBA 2nd Sem BCA 2nd Sem BCA (D) 2nd Sem BSC IT(D) 2nd Sem BSC(IT) 2nd Semester MBA A Foundation Course in Human Values and Professional Ethics Accounting and Financial Management Accounting and Financial Managementm ACCOUNTING FOR MANAGEMENT Adolescence and Family Education B.Ed (2012) Adolescence And Family Education B.Ed (Dec 2013) Adolescence And Family Education B.Ed (Dec 2014) ADVANCE SOFTWARE ENGINEERING Advanced Accounting 2 ADVANCED COMMUNICATION SYSTEMS ADVANCED MATHEMATICS FOR ENGINEERS Aligarh Muslim University Applied Physics 1 B.Ed (Dec 2008) B.Ed (Dec 2009) B.Ed (Dec 2011) B.Ed (Dec 2012) B.Ed (Dec 2013) B.Ed (Dec 2014) B.Ed (June 2008) B.Ed (June 2009) B.Ed (June 2015) BA 1 Syllabus Bachelor in Science Fashion and Technology Basic Accounting Basic Chemistry Basic Electrical Engineering Basic Electronics Basic Mathematics BSC 1 Basoc Accounting BBA 1 BBA 2 BCA Question Papers BCA Syllabus 1 Bridge Course in Mathematics Bsc.IT Business Communication-1 Business Communication-2 Business Communication-I 2 Business Environment 2 Business Laws 1 Business Mathematics Business Organisation and Management Business Statistics 2 C C Programming C Programming Bsc IT 1 C Programming Lecture Videos CADM 1st Semester Communication 2 Communication and Soft Skills Communication Skills Communication Skills 1 Communicative English Computer and Education B.Ed (Dec 2011) Computer and Education B.Ed (Dec 2012) Computer Applications Computer Fundamental Computer Graphics Video Lecture Computer in Education B.Ed (Dec 2008) Computer in Education B.Ed (Dec 2009) Computer In Education B.Ed (Dec 2013) Computer in Education B.Ed (Dec 2014) Computer Mathematical Foundation MCA D Computer Networks 1st Semester Computer Operating System Computer Organization and Assembly Language Computer System Architecture 2 Corporate Accounting Curriculum and Instruction B.Ed (Dec 2009) Curriculum and Instruction B.Ed (Dec 2011) Curriculum and Instruction B.Ed (Dec 2012) Curriculum and Instruction B.Ed (Dec 2013) Curriculum and Instruction B.Ed (Dec 2014) Curriculuman and Instruction B.Ed (Dec 2008) DATA COMMUNICATION NETWORK Data Structure 2 Data Structures 2 data structures 2 BCA D Data Structures Through C 2 Database Management with Microsoft Access Bsc IT 1 Delhi University News Desktop Publishing Tools 2 Digital Circuits and Logic Design 2 Digital Circuits and Logic Design 2 BCA D Digital Electronics 2 Digital Electronics Fundamentals 2 Distance Education B.Ed (Dec 2008) Distance Education B.Ed (Dec 2009) Distance Education B.Ed (Dec 2011) Distance Education B.Ed (Dec 2012) Distance Education B.Ed (Dec 2013) Distance Education B.Ed (Dec 2014) Dot Net Interview Questions & Answers. Education and Evaluation B.Ed (Dec 2009) Education and Society B.Ed (Dec 2008) Education and Society B.Ed (Dec 2009) Education and Society B.Ed (Dec 2011) Education and Society B.Ed (Dec 2012) Education and Society B.Ed (Dec 2013) Education and Society B.Ed (Dec 2014) Education Technology B.Ed (Dec 2009) Educational Evaluation B.Ed (Dec 2008) Educational Evaluation B.Ed (Dec 2011) Educational Evaluation B.Ed (Dec 2012) Educational Evaluation B.Ed (Dec 2013) Educational Evaluation B.Ed (Dec 2014) Educational Technology B.Ed (Dec 2008) Educational Technology B.Ed (Dec 2011) Educational Technology B.Ed (Dec 2012) Educational Technology B.Ed (Dec 2013) ELECTRONICS SYSTEM DESIGN Engineering Drawing and Graphics Engineering Mathematics Engineering Question Paper set 1 Engineering Syllabus English and Communication Skills English and Communication Skills 2 Environmental Science 2 Finaicial Accounting Financial Accounting Financial Management 2 Sem Fundamentals of Information Technology Bsc 1 Guidance and Counseling B.Ed (Dec 2008) Guidance and counseling B.Ed (Dec 2009) Guidance and Counseling B.Ed (Dec 2011) Guidance and Counseling B.Ed (Dec 2012) Guidance and Counseling B.Ed (Dec 2013) HIV and Aids Education B.Ed (Dec 2011) HIV and Aids Education B.Ed (Dec 2012) HIV and Aids Education B.Ed (Dec 2013) Hotel Management and Air Lines Syllabus HP University News Human Resource Management Human Resource Management 2 Information Management Information Technology for Management Intoduction to microprocessor 2 BCA D Introduction of Computers BBA1 Introduction to Computers 2 Introduction to I.T MCA D Introduction to Information Technology Introduction to Information Technology(BCA) Kurukshetra University News Lecture 20 Clipping -- Lines And Polygons Macro Economics 2 Management Syllabus Managerial Economics Marketing Management 2 Master Of Technology M-Tech Syllabus MBA Papers MCA Notes MCA Question Papers Mercantile Law 2 Metal Cutting Question Paper Metal Forming Question Paper Micro Economics Network Security NEURAL NETWORKS & FUZZY LOGIC Object Oriented Programming in C++ Object Oriented Programming in Cpp OOP CPP 2 Operating system (BCA) Operating System Bsc IT 1 Organisational Behaviour Organization Behaviour 2 Other Universities Others Panjab University News PCM 2 BCA D PGDCA Pharmacy Syllabus Principles and Practices of Management principles of management 2 Production and Operations Management 2 Programming in C Programming in C MCA D Programming Logic Development with C Psychology of Learning and Development B.Ed (Dec 2013) Psychology of Learning and Development B.Ed (Dec 2008) Psychology of Learning and Development B.Ed (Dec 2009) Psychology of Learning and Development B.Ed (Dec 2011) Psychology of Learning and Development B.Ed (Dec 2012) PTU Affiliated Colleges of Integerated College PTU Affiliated Colleges of Management College PTU Affiliated Colleges of Architecture PTU Affiliated Colleges of Engineering PTU Affiliated Colleges of Pharmacy College PTU Forms Download PTU News and Events Quantitative Techniques RDBMS 2 RDBMS-I 2 Relational Database Management System Research Methodology 2 SAD 2 BCA D Syllabus of Computer Applications Syllabus of Journalism and Mass Communication Syllabus of Medical Laboratory Science System Analysis and Design System Analysis and Design 2 System Analysis and Design MCA D Teacher and School B.Ed (Dec 2008) Teacher and School B.Ed (Dec 2009) Teacher and School B.Ed (Dec 2011) Teacher and School B.Ed (Dec 2012) Teacher and School B.Ed (Dec 2013) Teacher of English B.Ed (Dec 2009) Teaching of English B.Ed (Dec 2008) Teaching of English B.Ed (Dec 2011) Teaching of English B.Ed (Dec 2012) Teaching of English B.Ed (Dec 2013) Teaching of Mathematics B.Ed (Dec 2009) Teaching of Mathematics B.Ed (Dec 2011) Teaching of Mathematics B.Ed (Dec 2012) Teaching of Mathematics B.Ed (Dec 2013) Teaching of Science B.Ed (Dec 2008) Teaching of Science B.Ed (Dec 2009) Teaching of Science B.Ed (Dec 2011) Teaching of Science B.Ed (Dec 2012) Teaching of Science B.Ed (Dec 2013) Teaching of Social Studies B.Ed (Dec 2008) Teaching of Social Studies B.Ed (Dec 2011) Teaching of Social Studies B.Ed (Dec 2012) Teaching of Social Studiess B.Ed (Dec 2013) Teaching of Social Study B.Ed (Dec 2009) Technical Communication UGC NET Computer Science Question Paper Uttarakhand Open University Video Lecture Web Technologies 1st Semester Web Technologies 2 Welding Technology Question Paper Workshop on IT and E-Commerce 2