# DesignPatterns **Repository Path**: debugyang/DesignPatterns ## Basic Information - **Project Name**: DesignPatterns - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-04-16 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 设计模式 1. [单例模式](./SingletonPatterns) > 全局唯一的对象 2. [工厂模式](./FactoryPatterns) > 按照一定的规范批量生产对象 3. [原型模式](./PrototypePatterns) > 住在不同地方的双胞胎 4. [代理模式](./ProxyPatterns) > 专人专事 5. [策略模式](./StrategyPatterns) > 按照情景选择正确选项 6. [委托模式](./DelegatePatterns) > 我是老板,我给你安排工作 7. [模板模式](./TemplatePatterns) > 处理流程标准化,处理细节不同 8. [观察者模式](./ObserverPatterns) > 我这边有变化了通知你一下 # 列举SpringAOP、IOC、DI应用的代码片段 ```java @Aspect public class Aop { @Pointcut("execution(* com.yang..*.*(..))") public void pointcut(){} @Before("pointcut()") public void before(){ System.out.println("before"); } @After("pointcut()") public void after(){ System.out.println("after"); } @Around("pointcut") public void around(){ System.out.println("around"); } @AfterThrowing(pointcut="pointcut()",throwing="error") public void afterThrowing(){ System.out.println("afterThrowing"); } } ``` # IOC ```java AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext("com.yang"); context.getBean(uncapitalize(ConfigForScanning.class.getSimpleName())); ``` # DI ```java @Autowired private Object service; ```