คำถามติดแท็ก aop

17
ChuckNorrisException ที่จับไม่ได้
เป็นไปได้ไหมที่จะสร้างส่วนของโค้ดในJavaที่จะทำให้ไม่สามารถจับสมมุติฐานได้java.lang.ChuckNorrisException? ความคิดที่อยู่ในใจคือการใช้ตัวอย่างเช่นตัวดักหรือการเขียนโปรแกรมเชิงกว้าง

8
การเขียนโปรแกรมเชิงกว้างคืออะไร?
ฉันเข้าใจการเขียนโปรแกรมเชิงวัตถุและได้เขียนโปรแกรม OO มาเป็นเวลานาน ผู้คนดูเหมือนจะพูดคุยเกี่ยวกับการเขียนโปรแกรมเชิงกว้าง แต่ฉันไม่เคยเรียนรู้ว่ามันคืออะไรหรือใช้งานอย่างไร กระบวนทัศน์พื้นฐานคืออะไร? คำถามนี้เกี่ยวข้อง แต่ไม่ได้ถาม: การเขียนโปรแกรมเชิงมุมมองกับการเขียนโปรแกรมเชิงวัตถุ
231 aop  paradigms 

7
การเขียนโปรแกรมเชิงมุมมองกับการเขียนโปรแกรมเชิงวัตถุ
เช่นนักพัฒนาส่วนใหญ่ที่นี่และทั่วโลกฉันได้พัฒนาระบบซอฟต์แวร์โดยใช้เทคนิคการเขียนโปรแกรมเชิงวัตถุ (OOP) เป็นเวลาหลายปี ดังนั้นเมื่อฉันอ่านการเขียนโปรแกรมเชิงกว้าง (AOP) ที่อยู่ปัญหาหลายอย่างที่ OOP แบบดั้งเดิมไม่สามารถแก้ได้อย่างสมบูรณ์หรือโดยตรงฉันหยุดและคิดว่ามันจริงหรือไม่ ฉันได้อ่านข้อมูลมากมายที่พยายามเรียนรู้ถึงกุญแจของกระบวนทัศน์ AOP นี้และฉันอยู่ในที่เดียวกันดังนั้นฉันจึงต้องการเข้าใจถึงประโยชน์ของมันในการพัฒนาแอปพลิเคชันโลกแห่งความเป็นจริงมากขึ้น มีใครมีคำตอบบ้างไหม?
199 oop  aop  paradigms 

15
ฉันจะดักการเรียกเมธอดใน C # ได้อย่างไร
สำหรับคลาสที่กำหนดฉันต้องการมีฟังก์ชั่นการติดตามเช่นฉันต้องการบันทึกการเรียกใช้เมธอดทุกครั้ง (ลายเซ็นเมธอดและค่าพารามิเตอร์จริง) และทุกเมธอดออก (แค่ลายเซ็นเมธอด) ฉันจะทำสิ่งนี้สำเร็จโดยสมมติว่า: ฉันไม่ต้องการใช้ห้องสมุด AOP ของบุคคลที่สามสำหรับ C # ฉันไม่ต้องการเพิ่มรหัสที่ซ้ำกันไปยังวิธีการทั้งหมดที่ฉันต้องการติดตาม ฉันไม่ต้องการเปลี่ยน API สาธารณะของชั้นเรียน - ผู้ใช้ของชั้นเรียนควรสามารถเรียกใช้วิธีการทั้งหมดได้ในลักษณะเดียวกัน เพื่อให้คำถามที่เป็นรูปธรรมมากขึ้นสมมติว่ามี 3 คลาส: public class Caller { public static void Call() { Traced traced = new Traced(); traced.Method1(); traced.Method2(); } } public class Traced { public void Method1(String name, Int32 value) { } public …
154 c#  reflection  aop 

9
@AspectJ pointcut สำหรับวิธีการทั้งหมดของคลาสที่มีคำอธิบายประกอบเฉพาะ
ฉันต้องการตรวจสอบวิธีการสาธารณะทั้งหมดของทุกชั้นเรียนพร้อมคำอธิบายประกอบที่ระบุ (พูด @Monitor) (หมายเหตุ: คำอธิบายประกอบอยู่ในระดับชั้นเรียน) สิ่งที่เป็นไปได้สำหรับสิ่งนี้คืออะไร? หมายเหตุ: ฉันใช้ @AspectJ style Spring AOP
127 java  aop  aspectj  spring-aop 

4
ตัวอย่างข้อกังวลในการตัดข้าม
ตัวอย่างที่ดีของ a cross-cutting concernคืออะไร? ตัวอย่างเวชระเบียนในหน้าวิกิพีเดียดูเหมือนจะไม่สมบูรณ์สำหรับฉัน โดยเฉพาะจากตัวอย่างนี้เหตุใดการบันทึกจึงนำไปสู่การทำซ้ำรหัส ( การกระจาย ) (นอกเหนือจากการโทรธรรมดาเช่นlog("....")ทุกที่ซึ่งดูเหมือนจะไม่ใช่เรื่องใหญ่) อะไรคือความแตกต่างระหว่าง a core concernและ a cross-cutting concern? เป้าหมายสุดท้ายของฉันคือการทำความเข้าใจเกี่ยวกับ AOP ให้ดีขึ้น

9
ไม่ใช้รูปแบบพื้นที่เก็บข้อมูลให้ใช้ ORM ตามที่เป็น (EF)
ฉันใช้รูปแบบพื้นที่เก็บข้อมูลเสมอ แต่สำหรับโปรเจ็กต์ล่าสุดของฉันฉันต้องการดูว่าฉันสามารถใช้มันได้อย่างสมบูรณ์แบบหรือไม่และการนำ "หน่วยงาน" ไปใช้หรือไม่ ยิ่งฉันเริ่มขุดมากขึ้นฉันก็เริ่มถามตัวเองว่า"ฉันต้องการมันจริงๆหรือ" ตอนนี้ทั้งหมดนี้เริ่มต้นด้วยความคิดเห็นสองสามรายการใน Stackoverflow พร้อมติดตามโพสต์ของ Ayende Rahien ในบล็อกของเขาโดยมี 2 ข้อความที่เจาะจง ที่เก็บคือสิ่งใหม่ - ซิงเกิลตัน ask-ayende-life-without-repositories-are-they-worth-living สิ่งนี้อาจถูกพูดถึงตลอดไปและตลอดไปและขึ้นอยู่กับการใช้งานที่แตกต่างกัน ฉันอยากรู้อะไร แนวทางนี้จะเหมาะกับโครงการ Entity Framework หรือไม่ การใช้วิธีนี้เป็นตรรกะทางธุรกิจที่ยังคงอยู่ในชั้นบริการหรือวิธีการขยาย (ตามที่อธิบายไว้ด้านล่างฉันรู้วิธีการขยายกำลังใช้เซสชัน NHib) ทำได้อย่างง่ายดายโดยใช้วิธีการขยาย สะอาดเรียบง่ายและใช้ซ้ำได้ public static IEnumerable GetAll( this ISession instance, Expression<Func<T, bool>> where) where T : class { return instance.QueryOver().Where(where).List(); } การใช้แนวทางนี้และNinjectในฐานะ DI ฉันจำเป็นต้องสร้างContextอินเทอร์เฟซและฉีดเข้าไปในคอนโทรลเลอร์ของฉันหรือไม่

13
Spring AOP: JoinPoint และ PointCut ต่างกันอย่างไร
ฉันกำลังเรียนรู้แนวคิด Aspect Oriented Programming และ Spring AOP ฉันไม่เข้าใจความแตกต่างระหว่าง Pointcut และ Joinpoint - ทั้งคู่ดูเหมือนจะเหมือนกันสำหรับฉัน Pointcut คือที่ที่คุณใช้คำแนะนำของคุณและ Joinpoint ก็เป็นสถานที่ที่เราสามารถใช้คำแนะนำของเราได้ แล้วความแตกต่างคืออะไร? ตัวอย่างของ pointcut สามารถ: @Pointcut("execution(* * getName()") ตัวอย่างของ Joinpoint คืออะไร?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.