随笔分类 - 【设计模式】
摘要:上次的博文深入浅出Spring(二) IoC详解中,我为大家简单介绍了一下Spring框架核心内容中的IoC,接下来我们继续讲解另一个核心AOP(Aspect Oriented Programming),即面向切面编程。1、OOP回顾 在介绍AOP之前先来回顾一下大家都比较熟悉的OOP(Object Oriented Programming)。OOP主要是为了实现编程的重用性、灵活性和扩展性。它的几个特征分别是继承、封装、多态和抽象。OOP重点体现在编程架构,强调的是类之间的层次关系。2、OOP缺陷 为了更好的说明OOP的概念,我们接下来讲一个OOP的实例,重点分析OOP存在哪...
阅读全文
摘要:上次的博客深入浅出Spring(一)Spring概述中,我给大家简单介绍了一下Spring相关概念。重点是这么一句:Spring是为了解决企业应用开发的复杂性而创建的一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。在这句话中重点有两个,一个是IoC,另一个是AOP。今天我们讲第一个IoC。IoC概念 控制反转(Inversion of Control)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 它还有一个名字叫做依赖注入(Dependency Injection)。IoC不是什么技术,它是一种设计模式。实例演示 为了更好的说明IoC,我为大家举一个简...
阅读全文
摘要:在了解Struts之前,首先我们先要了解三个框架MVC、Model1、Model2。MVC框架MVC是一种设计模式,它强制性地将应用程序的输入、处理、输出进行分离,将应用程序分成模型(Model)、视图(View)、控制器(Control)三个模块。其中视图是用户看到并与之交互的界面;模型是应用程序的主体,表示业务数据和业务逻辑;控制器接受用户的输入并调用模型和视图完成用户的需求。早期的JavaWeb结构在早期的JavaWeb应用中,JSP是一个独立的、自主完成所有任务的模块。这样的设计会导致一系列的问题,例如:HTML代码与Java程序强耦合、业务逻辑内嵌在页面上;调试困难;业务逻辑和页面表
阅读全文
摘要:Visual Basic .NET和 Visual C# .NET都属于.NET平台下的语言,它们之间的本质区别较小,区别基本都是语法结构上的,既然两种语言都属于.NET平台,并且最终都是通过MSIL和CLR机制来运行,要实现它们之间的转换并不难。首先看一下单例的模型逻辑模型图:物理模型图:单例模式的五种写法。1.简单实现这种方式创建的对于多线程来讲可能是不安全的,原因是如果某一时刻实例未创建,这时有多个线程在这一时刻同时判断出实例不存在,那么这些线程就会执行后续代码并对实例进行创建,这样必然会导致创建多个实例。C# Codepublic sealed class Singleton { ..
阅读全文
摘要:最近的几天在看关于软件设计中的分层的概念,从我的角度,分层的概念就是层次分明,职责清楚.首先举个例子:有这么一家公司,公司由几个合伙人组成,每个人分别出资,自己既是老板又是员工,但是几个人又互不统属,每个人的工作也不固定.当客户来的时候,每个人做自己的事,既不主动接待,也不向客户说明自己的职责.长此以往,这家公司的前途可想而知.再来看看这样的一家公司,公司有总经理,部门经理,员工三层,员工负责具体的工作,部门经理知道自己部门员工都是谁,都能做什么,总经理负责客户的吸纳并分配工作给相应的部门.这样一家公司,层次分明,每层都知道自己的工作和下属的情况,正常情况下,这样的公司的发展将不是第一家公司可
阅读全文