using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MVVM.App.Control
{
public class BaseController
{
public BaseController(CNotifyPropertyChange model)
{
m_model = model;
}
private CNotifyPropertyChange m_model = null;
public CNotifyPropertyChange Model
{
get { return m_model; }
}
}
}
DelegateCommand.cs (命令绑定实现类) ↓
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace MVVM.App.Control
{
#pragma warning disable 0067
public class DelegateCommand : ICommand
{
public Func
CNotifyPropertyChange.cs (主要封装了绑定的属性改变时的通知函数) ↓
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
namespace MVVM.App.Control
{
public class CNotifyPropertyChange : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChange(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace MVVM.App.TM
{
///
/// MainWindow.xaml 的交互逻辑
///
public partial class UserInterface : Window
{
private ViewModel m_viewModel = null;
public UserInterface()
{
m_viewModel = new ViewModel();
this.DataContext = m_viewModel;
InitializeComponent();
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Controls;
using System.Collections.ObjectModel;
using MVVM.App.Control;
namespace MVVM.App.TM
{
class ViewModel : CNotifyPropertyChange
{
public UIModel m_UIModel { get; set; }
public UIController m_UIController { get; set; }
public ViewModel()
{
try
{
m_UIModel = new UIModel();
if (m_UIController == null)
{
m_UIController = new UIController(m_UIModel);
}
}
catch (Exception ex)
{
}
}
}
}
using MVVM.App.Control;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MVVM.App.TM
{
class UIModel : CNotifyPropertyChange
{
public UIModel()
{
}
private string m_strContext;
public string strContext
{
get { return m_strContext; }
set
{
m_strContext = value;
this.NotifyPropertyChange("strContext");
}
}
}
}
using MVVM.App.Control;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MVVM.App.TM
{
class UIController : BaseController
{
public UIController(CNotifyPropertyChange model) : base(model)
{
((UIModel)(this.Model)).strContext = "Hello";
}
}
}
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支 持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
实用命令实例
默认启动
tcpdump
普通情况下,直
MO= Mobile originate,上行,即用户上发给SP的信息。MT= Mobile Terminate,下行,即SP端下发给用户的信息;
上行:mo提交短信到短信中心下行:mt短信中心向特定的用户转发短信,你的短信是这样的,你所提交的短信,投递的地址是短信中心。短信中心收到你的短信后,存储转发,转发的时候就会根据你填写的接收方号码寻找路由,下发。在彩信领域是一样的道理。下行业务:由SP
import java.util.Arrays;
import java.util.Random;
public class MinKElement {
/**
* 5.最小的K个元素
* I would like to use MaxHeap.
* using QuickSort is also OK
*/
public static void
添加没有默认值:alter table Test add BazaarType char(1)
有默认值的添加列:alter table Test add BazaarType char(1) default(0)
删除没有默认值的列:alter table Test drop COLUMN BazaarType
删除有默认值的列:先删除约束(默认值)alter table Test DRO
Spring Boot 1.2.4已于6.4日发布,repo.spring.io and Maven Central可以下载(推荐使用maven或者gradle构建下载)。
这是一个维护版本,包含了一些修复small number of fixes,建议所有的用户升级。
Spring Boot 1.3的第一个里程碑版本将在几天后发布,包含许多